首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >avisynth不支持UTF-8源文件。

avisynth不支持UTF-8源文件。
EN

Stack Overflow用户
提问于 2014-08-18 13:21:12
回答 2查看 2.6K关注 0票数 4

我用avisynth从音频中提取视频。当我用

代码语言:javascript
复制
 x = "m.mkv"
 ffvideosource(x)

它工作正常,但当我将视频文件名更改为UTF-8 1时,我的脚本如下:

代码语言:javascript
复制
 x = "م.mkv"
 ffvideosource(x)

我得到了以下错误:未能打开哈希avisynth

我找到了一个链接(不支持UTF-8源文件。),它告诉UTF-8文件名在avisynth中不起作用,为了纠正这个问题,它说:

在调用ffvideosource时指定参数utf8=true,将脚本保存为不带BOM的UTF-8,然后查看是否有效。

但是我解决不了这个问题。当我以记事本打开脚本并以utf-8格式保存它时,我得到了以下错误:

不支持UTF-8源文件,用ANSI编码重新保存脚本

如何解决问题,如何使用UTF-8文件名运行脚本?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-18 17:17:55

在AviSynth中使用UTF-8时非常常见的问题.

遵循以下步骤:

  1. 检查插件文件夹。应该存在这三个文件:ffms2.dllffmsindex.exeFFMS2.avsi。如果您对ANSI没有问题,我猜您的插件文件夹中没有FFMS2.avsi;在这种情况下,请下载最新版本的这里
  2. 然后,使用AVS创建一个Notepad++文件。例如,我这样做: X= "C:/Users/Nemat/Desktop/StackOverFlow/نعمت.mkv“ffmpegsource2(x,utf8=true) 请注意,这里我使用的是ffmpegsource2()
  3. Encoding菜单中,从Notepadd++中选择Encode in UTF-8 without BOM
  4. 保存你的档案。
  5. 检查地址目录中存在的视频文件。
  6. 双击AVS文件。
  7. 尽情享受吧!
票数 2
EN

Stack Overflow用户

发布于 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。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25364394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档