使用AVI将ffmpeg编码为mp4


27

使用什么命令行从avi转换为mp4,而又不破坏帧大小并使文件变小到原始大小或更大一点,并且与mp4转换为avi相同?每当我尝试转换时,它变成2 GB

Answers:


33

根据原始文件的编码方式,可能无法保持文件大小。

ffmpeg -i infile.avi youroutput.mp4

制作mp4文件时,应保持帧大小和速率不变。

ffmpeg -i infile.avi

将为您提供有关输入文件的信息-帧大小,使用的编解码器,比特率等。

生成输出时,您也可以使用acodecvcodec选项。还请记住,mp4和avi文件可以使用各种编解码器,并且里程可能会因您选择的编解码器而异。


6
我认为最好使用ffprobe -i infile.avi而不是ffmpeg -i infile.avi获取信息,因为后者会导致“必须指定至少一个输出文件”错误。
Francesco Turco 2012年

谢谢,弗朗切斯科。您的方法比我的方法更优雅;-)
rbanffy 2012年

6

我对将avi文件转换为mp4非常感兴趣。阅读您的文章时,我记得以下ffmpeg命令:

ffmpeg -i input.avi -strict -2 output.mp4

-strict -2如果您添加了这两个参数,则该命令是AAC编解码器所必需的,该命令是试验性的,但可以运行(libaac)。默认情况下,输出文件是高质量的。


2

据我了解,需要用mp4替换avi-container(以前是-ISO基本媒体文件格式ISO / IEC 14496-12)。

如果运行以下命令:

ffmpeg -i input.avi -y output.mp4

在这种情况下,ffmpeginput.avi中的基本流进行重新编码(压缩容器并重新编码是ffmpeg的默认模式)。值得注意的是,重新编码可能会降低视觉和/或听力质量。

因此,建议通过“ c:v复制c:a复制 ”编解码器选项来禁用重新编码:

ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4

在上述情况下,ffmpeg仅更改壳(容器)


0

我发现了这一点:Linux中的Libav

安装:运行命令

sudo apt-get install libav-tools

视频转换命令:

转到包含视频的文件夹并在终端中运行

avconv -i oldvideo.mp4 -ar 22050 convertedvideo.webm
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.