调整 mp4 的大小并降低比特率

调整 mp4 的大小并降低比特率

我想执行以下命令:

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 库。

相关内容