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

我有一个从图像创建的mp4video文件,并希望添加MP3声音。 我根本不熟悉video编辑,但是读一些aac声音是首选的,所以我也得到了aacforms的声音。

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

我已经搜索了很多avconvmencoder试图将找到的例子转换成我的案例而没有任何成功。

各位专家,请你给我一个命令行示例,我该怎么办呢?

它取决于你的流在mp4文件中的映射方式。 像这样的东西应该工作:

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

通常,video流被映射为容器中的第一个流。
如果它未映射为第一个流,请更改映射:

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

要了解video文件中的流实际上是如何实际映射的,您现在可以使用标准Ubuntu存储库中的mediainfo

如果我们在这里分解命令行,它的工作原理如下:

 -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 

确保audiofile和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格式的多路复用文件的另一种方法是使用gpac包中的MP4Box