如何将 .avi 容器转换为 .mp4

如何将 .avi 容器转换为 .mp4

我有一个.avi包含以下流的文件:

Stream #0.0: Video: mpeg4 (Advanced Simple Profile), yuv420p, 608x256 [PAR 1:1 DAR 19:8], 23.98 tbn, 23.98 tbc

Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16p, 128 kb/s

我想在支持 mpeg4 视频流的 Iphone 上播放这部电影在之前的问题中。目前,我不关心音频流(iPhone 似乎不支持 mp3)

因此,我正在寻找一种方法来将我的文件的“容器”格式转换为.aviIphone.mp4所需的格式。这可行吗?如果可行,我该怎么做?

答案1

avconv可能还应该添加这样做的方法:

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

如果你从源代码编译libav来执行此操作,则需要确保已启用 mp4 复用器。你可以使用以下命令执行此操作

./configure [your other options] --enable-muxer=mp4

无论如何,它通常是默认启用的,但我在这里提供它,以防您正在使用--disable-everything--disable-muxers在常规选项中的某处。

答案2

使用ffmpeg,很容易只改变容器格式,并且只流复制(重新多路复用)所有流而无需重新编码:

ffmpeg -i input.avi -map 0 -codec copy output.mov

如果指定.mov扩展名,则可以省略-f mov,因为ffmpeg会从扩展名中猜测。如果您确实想删除某些流,请选中该-map选项并阅读有关默认流选择

答案3

您可以随时使用 mencoder

更多详情请阅读:使用 mencoder 为 iPhone 编码视频

答案4

ffmpeg -i input.avi -c:v libx264 -profile:v baseline -level 3.0 -c:a copy output.mp4

这会使用 h.264 重新编码您的视频,但它应该适用于所有 iphone。

相关内容