我已经搜索了互联网,但没有找到解决方案。我希望这个问题不会重复出现。

我在同一文件夹中有以下文件:

  • ffmpeg.exe(32位版本)
  • IN.mp4(视频编解码器-AVC,音频编解码器-PCM)
  • RUN_FILE.bat和RUN_AVS.bat批处理文件
  • SCRIPT.avs(avisynth脚本文件)
  • MSharpen.dll(用于avisynth的锐化过滤器)
  • RUN_FILE.bat中的文本:
    ffmpeg -i "IN.mp4" -c:v libx264 -crf 24 -c:a libmp3lame -aq 2 OUT.mp4
    
    RUN_AVS.bat中的文本:
    ffmpeg -i "SCRIPT.avs" -c:v libx264 -crf 24 -c:a libmp3lame -aq 2 OUT.mp4
    
    SCRIPT.avs中的文本(3行):
    LoadPlugin("D:\MSharpen.dll")
    
    DirectShowSource("D:\IN.MP4")
    
    MSharpen(15,150)
    

    如果我尝试使用诸如媒体播放器经典之类的外部程序加载avisynth脚本,则它可以正常工作(并锐化视频帧)。

    转到命令行并运行RUN_FILE.bat可以按预期工作,但是运行RUN_AVS.bat时出现以下错误(请参见屏幕截图):

    我发现这令人困惑,因为ffmpeg是使用--enable-avisynth配置的。

    非常感谢您的帮助-这是一个较大且非常重要的项目的一部分(自动扫描包含数百个视频文件的文件夹,将其锐化并重新编码为具有相同文件名的另一个文件夹)。

    最佳答案

    您是否尝试过搜索屏幕快照中红色的行?

    根据我在http://ffmpeg.zeranoe.com/forum/viewtopic.php?t=1084和其他来源中发现的结果,未知错误可能是由于ffmpeg或avisynth的32/64位版本不同。如果您使用的是Avisynth 2.5.8而不是2.6(可能会出现问题)(在任何播放器中打开一个包含“Version()”作为最后一个命令的avisynth脚本,以查找您拥有的那个脚本)。
    最后,您可能想尝试在x264.exe中而不是ffmpeg中打开脚本,并查看其是否有效。

    我会将其发布到评论答案中,但尚未被允许发表评论。

    关于video - 使用Avisynth脚本作为ffmpeg的输入时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29342030/

    10-13 00:14