如何将音频文件(aac或mp3)添加到mp4video文件?
我有一个从图像创建的mp4video文件,并希望添加MP3声音。 我根本不熟悉video编辑,但是读一些aac声音是首选的,所以我也得到了aacforms的声音。
结果的优选forms也是mp4或flv。 我的操作系统是Ubuntu(Saucy Salamander)。
我已经搜索了很多avconv
和mencoder
试图将找到的例子转换成我的案例而没有任何成功。
各位专家,请你给我一个命令行示例,我该怎么办呢?
它取决于你的流在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具有相同的持续时间。 并非每个玩家都接受具有巨大持续时间差异的曲目。
请注意, avconv
和ffmpeg
几乎是一回事。 实际上,使用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
。