Answers:
根据原始文件的编码方式,可能无法保持文件大小。
ffmpeg -i infile.avi youroutput.mp4
制作mp4文件时,应保持帧大小和速率不变。
ffmpeg -i infile.avi
将为您提供有关输入文件的信息-帧大小,使用的编解码器,比特率等。
生成输出时,您也可以使用acodec
和vcodec
选项。还请记住,mp4和avi文件可以使用各种编解码器,并且里程可能会因您选择的编解码器而异。
据我了解,需要用mp4替换avi-container(以前是-ISO基本媒体文件格式ISO / IEC 14496-12)。
如果运行以下命令:
ffmpeg -i input.avi -y output.mp4
在这种情况下,ffmpeg对input.avi中的基本流进行重新编码(压缩容器并重新编码是ffmpeg的默认模式)。值得注意的是,重新编码可能会降低视觉和/或听力质量。
因此,建议通过“ c:v复制c:a复制 ”编解码器选项来禁用重新编码:
ffmpeg -i input.avi -c:v copy -c:a copy -y output.mp4
在上述情况下,ffmpeg仅更改壳(容器)
ffprobe -i infile.avi
而不是ffmpeg -i infile.avi
获取信息,因为后者会导致“必须指定至少一个输出文件”错误。