gpt4 book ai didi

audio - ffmpeg - 向视频添加 3 个音频流

转载 作者:行者123 更新时间:2023-12-04 22:57:01 25 4
gpt4 key购买 nike

我有以下问题。
在文件夹中有 video.mp4 文件(包含 1 个音频流)。还有 3 个不同的文件 audio1.wav、audio2.wav、audio3.wav。我需要将这些文件作为多流“附加”到视频文件中 - 因此用户可以在 VLC 播放器或类似播放器中选择音频语言。结果当时必须是一个音频 - 不能将它们混合在一起。
现在,我已经通过 Premiere Pro 和多轨(快速导出到 mov)完成了它,然后我运行了一个脚本来更改音频流名称以对应于音频语言(iso 639-2)并输出 mp4 文件。一切正常,但我想知道是否有简单的方法可以通过 ffmpeg ( .bat 脚本 ) 完成所有工作。我有一个用于替换视频中音频的工作脚本,但我需要在视频文件中添加一些额外的 .wav 作为单独的音轨。
任何帮助将不胜感激!

最佳答案

添加一个新的音轨到一个带有音频的现有视频中,使用-i指定所有输入文件的参数(原始视频和附加音频)-map手动选择每个输入的轨道的选项(https://trac.ffmpeg.org/wiki/Map)
在你的情况下,-map 0从输入#0(视频)复制所有流-map 1:a包括来自 input#1 文件 (audio1) 的所有音频流-map 2:a包括来自输入#2 文件 (audio2) 的所有音频流
等等
-shortest将输出裁剪为最短的输入
另外你可能想使用-c:v copy复制视频流而不重新编码。
所以,试试这个(为了便于阅读,分行)

 ffmpeg -i video.mp4 -i input1.mp3 -i input2.mp3 
-map 0 -map 1:a -map 2:a
-c:v copy -shortest
output.mp4
和(添加到您的评论中)为音轨添加元数据
ffmpeg -i video.mp4 -i input1.mp3 -i input2.mp3 
map 0 -map 1:a -map 2:a
-metadata:s:a:0 language=eng
-metadata:s:a:1 language=ger
-metadata:s:a:2 language=fra
-disposition:a:0 default
-c:v copy -shortest
output.mp4

关于audio - ffmpeg - 向视频添加 3 个音频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70001130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com