我有一个没有声音的 MP4/h.264 视频。使用ffmpeg
或类似方法,我如何才能将音轨应用于该 MP4 文件而不降低视频质量(即不重新编码视频轨道)?
我更喜欢涉及免费软件的解决方案,适用于 Win7、Ubuntu 或 FreeBSD。
答案1
正确的 FFmpeg 命令是:
ffmpeg -i video.mp4 -i audio.mp4 -map 0:0 -map 1:0 -c copy output.mp4
这将提供两个输入流,即您已有的视频和音频(例如来自带有 AAC 音频的 MP4 文件),并使用选项将它们合并在一起-map
。
这里,第一个数字0:0
是输入文件(0
对于视频文件和1
音频文件),第二个数字是来自该文件的流(0
因为每个流只有一个,视频或音频)。这两个流将映射到一个输出文件,因此首先是视频,然后是音频。
使用该选项,比特流将被复制,而不是重新编码-c copy
。您可以在 FFmpeg 输出中观察到这一点:
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #1:0 -> #0:1 (copy)
答案2
你可以使用ffmpeg
它来实现这一点。我只是用我虚弱的大脑来做这件事,但也许像这样的事情会起作用:
ffmpeg -i movie-file.mp4 -i audio-file.mp3 -c:v copy -c:a copy output.mp4
答案3
有一些开源视频编辑器。
在 Windows 上,有 Windows Movie Maker 或 Microsoft Live Movie Maker。不过我没有用过这些。
在 Linux 上,有非常容易使用的 OpenShot。