我想执行以下命令:
x264 --level 30 --profile baseline --bitrate 900 --keyint 30 -o test.mp4 video01.mp4 --vf resize:720,480
但我得到以下输出(错误)
raw [error]: raw input requires a resolution.
x264 [error]: could not open input file `video01.mp4' via any method!
我尝试过: - 在输入文件旁边添加分辨率,但没有成功 - 尝试更改--vf
为--video-filter resize:
我做错了什么?是否可以像这样调整 mp4 文件的大小?如果第一个错误涉及输入文件,我该如何指定分辨率?我需要这个命令工作,因为我需要在 bash 脚本和 JAVA 代码中实现它。根据我的研究,我可能需要 avisynth,但没有适用于 linux 的端口,有吗?
如果你有更好的东西给我,请帮助我。我在 64 位 Ubuntu 11.04 上运行,带有 ffmpeg 和 x264 所需的所有(可能)库
答案1
您的输出表明输入文件被解码为 RAW,而不是使用正确的 libav、Avisynth 或 ffms 解码器。请参阅Ubuntuman
页面了解更多详情。我认为正确的语法应该是:
x264 --level 30 --profile baseline --bitrate 900 --keyint 30 --vf resize:720,480 -o test.mp4 video01.mp4
如果您仍然遇到错误,则可能是您的 x264 二进制文件已过时,或者未使用 ffms 支持进行编译。来自man
上面链接的页面:
Infile 可以是原始的(在这种情况下需要解析),[...] 或 Avisynth(如果使用支持进行编译)(否)。或 libav* 格式(如果使用 lavf 支持(否)或 ffms 支持(是)进行编译)。
最后,从此主题关于使用 ffms 支持编译 x264,最新的 x264 应该可以通过您的包管理器进行配置以找到 ffms 库。