我检查过是否有类似这样的帖子,但似乎要么没有,要么我搜索能力很差。无论如何,直奔主题。
我想创建一个带有不同音轨的视频文件,其中每个音轨基本相同,但使用不同的语言。我有五条 *.wav 格式的音轨,我需要将它们与视频合并,这样输出文件将是一个视频,用户可以从 5 条可用音轨中选择一条与视频一起播放,就像 DVD 中的语言选择一样。我不确定我是否应该尝试“map”、“concat”或其他完全不同的东西?
非常感谢您的帮助。
干杯。
答案1
ffmpeg -i video -i audio1 -i audio2 -i audio3 -i audio4 -i audio5 \
-map 0:v -map 1:a -map 2:a -map 3:a -map 4:a -map 5:a \
-metadata:s:a:0 language=eng -metadata:s:a:0 title="Title 1" \
-metadata:s:a:1 language=sme -metadata:s:a:1 title="Title 2" \
-metadata:s:a:2 language=ipk -metadata:s:a:2 title="Title 3" \
-metadata:s:a:3 language=nob -metadata:s:a:3 title="Title 4" \
-metadata:s:a:4 language=swa -metadata:s:a:4 title="Title 5" \
-c:v copy -c:a libopus output.mkv
您可以为每个音频流设置语言和/或标题元数据。请参阅ISO 639-2/T为 3 个字母的代码。
这个例子将流复制(重新混合)视频而不是重新编码。
您没有指定所需的输出格式,所以我只是选择了编码器 libopus 和 Matroska 输出容器格式。