如何将音轨无损地应用于静音 h264/mp​​4 视频?

pop*_*tea 4 audio h.264 mp4 ffmpeg lossless

我有一个没有声音的 MP4/h.264 视频。使用ffmpeg或类似的方法,如何在不降低视频质量的情况下将音轨应用到该 MP4 文件(即不重新编码视频轨)?

我更喜欢涉及免费软件的解决方案,可用于 Win7、Ubuntu 或 FreeBSD。

slh*_*hck 10

正确的 FFmpeg 命令是:

ffmpeg -i video.mp4 -i audio.mp4 -map 0:0 -map 1:0 -c copy output.mp4
Run Code Online (Sandbox Code Playgroud)

这将提供两个输入流,您已有的视频和音频,例如来自带有 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)
Run Code Online (Sandbox Code Playgroud)

  • 如果您只希望它是最短输入的持续时间(如果音频是比视频长的音乐很有帮助),您也可能需要 `-shortest`。 (4认同)