如何将音频文件(aac 或 mp3)添加到 mp4 视频文件?

如何将音频文件(aac 或 mp3)添加到 mp4 视频文件?

我有一个用图片创建的 mp4 视频文件,想在其中添加 mp3 声音。我对视频编辑一点都不熟悉,但读到过一些文章说 aac 声音更受欢迎,所以我也得到了 aac 格式的声音。

结果的首选格式也是 mp4 或 flv。我的操作系统是 Ubuntu(Saucy Salamander)。

我已经在 Google 上搜索了很多,avconvmencoder尝试将找到的例子转化到我的案例中,但没有成功。

各位专家,能否给我一个命令行示例,我该如何操作?

答案1

这有点取决于你的流在 mp4 文件中的映射方式。类似这样的方法应该可行:

ffmpeg -i video.mp4 -i audio.aac -map 0:0 -map 1:0 -vcodec copy -acodec copy newvideo.mp4

通常视频流在容器中被映射为第一个流。
如果没有被映射为第一个流,请更改映射:

ffmpeg -i video.mp4 -i audio.aac -map 0:1 -map 1:0 -vcodec copy -acodec copy newvideo.mp4

要了解视频文件中的流实际上是如何映射的,首先可以使用mediainfo现在标准 Ubuntu 存储库中的内容。

如果我们分解这里的命令行,它的工作方式如下:

-i video.mp4  -> first media file
-i audio.aac  -> second media file
-map 0:1      -> use the second stream from the first mediafile
-map 1:0      -> use the first stream from the second mediafile
-vcodec copy  -> leave the video as is
-acodec copy  -> leave the audio as is
newvideo      -> resulting videofile

确保音频文件和视频文件的时长相同。并非所有播放器都能接受时长差异巨大的曲目。

请注意avconvffmpeg几乎是同一件事。事实上,使用 avconv 的这个命令也像使用 ffmpeg 的相同命令一样工作:

avconv -i video.mp4 -i audio.aac -map 0:0 -map 1:0 -vcodec copy -acodec copy newvideo.mp4  

avconv 程序属于 Libav 项目,该项目是 FFmpeg 项目的一个分支。您也可以放心地忽略以下错误消息:

*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.

混合 MP4 格式文件的另一种方法是MP4Box使用gpac软件包。

相关内容