我用avisynth从音频中提取视频。当我用
x = "m.mkv"
ffvideosource(x)它工作正常,但当我将视频文件名更改为UTF-8 1时,我的脚本如下:
x = "م.mkv"
ffvideosource(x)我得到了以下错误:未能打开哈希avisynth
我找到了一个链接(不支持UTF-8源文件。),它告诉UTF-8文件名在avisynth中不起作用,为了纠正这个问题,它说:
在调用ffvideosource时指定参数utf8=true,将脚本保存为不带BOM的UTF-8,然后查看是否有效。
但是我解决不了这个问题。当我以记事本打开脚本并以utf-8格式保存它时,我得到了以下错误:
不支持UTF-8源文件,用ANSI编码重新保存脚本
如何解决问题,如何使用UTF-8文件名运行脚本?
发布于 2014-08-18 17:17:55
在AviSynth中使用UTF-8时非常常见的问题.
遵循以下步骤:
ffms2.dll、ffmsindex.exe和FFMS2.avsi。如果您对ANSI没有问题,我猜您的插件文件夹中没有FFMS2.avsi;在这种情况下,请下载最新版本的这里。AVS创建一个Notepad++文件。例如,我这样做:
X= "C:/Users/Nemat/Desktop/StackOverFlow/نعمت.mkv“ffmpegsource2(x,utf8=true)
请注意,这里我使用的是ffmpegsource2()。Encoding菜单中,从Notepadd++中选择Encode in UTF-8 without BOM。AVS文件。发布于 2014-08-18 17:11:57
“没有BOM”很重要。您需要将文件保存为原始UTF-8,而不使用Microsoft风格的faux-BOM。记事本不能这样做,它总是保存UTF-8文件与一般-不受欢迎的0xEF 0xBB 0xBF头.大多数其他文本编辑器(如Notepad++)都能正确地完成这一任务。
AviSynth并不是真正的Unicode感知,所以它不希望您使用UTF-8,并会给出错误信息,试图阻止您犯错误。ffvideosource将UTF-8字节隐藏在AviSynth所认为的‘ANSI’字符中的解决方案只有在AviSynth将文件视为ANSI时才能工作。AviSynth没有非常复杂的编码-猜测,所以删除伪BOM就足以让人相信它正在处理ANSI。
https://stackoverflow.com/questions/25364394
复制相似问题