ffmpeg因webm而失败

问题描述 投票:0回答:1
/usr/local/bin/ffmpeg '-y' '-i' '/Users/l/htdocs/5a4def2049313.webm' '-vcodec' 'libx264' '-acodec' 'libfaac' '-b:v' '415k' '-refs' '6' '-coder' '1' '-sc_threshold' '40' '-flags' '+loop' '-me_range' '16' '-subq' '7' '-i_qfactor' '0.71' '-qcomp' '0.6' '-qdiff' '4' '-trellis' '1' '-b:a' '128k' '-vf'  '-pass' '1' '-passlogfile' '/var/tmp//ffmpeg-passes5a4def443e5eaepy3b/pass-5a4def443e6a2' '/Users/l/htdocs/5a4def2049313.mp4'

此命令出现错误,如:

ratecontrol_init: can't open stats file
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height';

该命令由库生成。这个库可以与其他格式一起使用,也可以使用更少的参数,例如:

/usr/local/bin/ffmpeg '-y' '-i' '/Users/l/htdocs/5a4def2049313.webm'  '/Users/l/htdocs/5a4def2049313.mp4'

只有在处理webm时才会出现错误。第一个命令有什么问题?

ffmpeg webm
1个回答
0
投票

The problems

  • 您使用了-vf选项(视频过滤器),但没有声明任何过滤器。此选项需要过滤器名称。添加过滤器或删除-vf
  • 你的-passlogfile路径是不存在的。在尝试写入之前检查/var/tmp//ffmpeg-passes5a4def443e5eaepy3b/是否存在。另请注意//拼写错误。
  • 你为什么不使用x264 encoding presets?它们的设计使您无需错误地使用十亿个选项。
  • 您显然使用双通的任何特殊原因?除非您需要特定的输出文件大小,否则您应该使用use a single pass using -crf而不是-b:v
  • libfaac is old and has been removed from FFmpeg some time ago。如果你正在使用它,你的ffmpeg已经过时了。 Upgrade并使用aac代替。

Fixed example

/usr/local/bin/ffmpeg '-y' '-i' '/Users/l/htdocs/5a4def2049313.webm' '-c:v' 'libx264' '-preset' 'slow' '-c:a' 'aac' '-b:a' '128k' '-movflags' '+faststart' '/Users/l/htdocs/5a4def2049313.mp4'
© www.soinside.com 2019 - 2024. All rights reserved.