我想使用FFMPEG来传输多个音频和一个视频.
材料是:
要求是:
要求如下所示.
< - short-clip-1.3gp持续时间 - > < - short-clip-2.3gp持续时间 - >
<-------------------------------------- 1.mp3 -------- --------------------------------------------->
<-------------------------------------- 1.mp4 -------- --------------------------------------------->
我使用的命令如下,但它不能按预期工作.
ffmpeg -i 1.mp4 -i 1.3gp -itsoffset 00:00:10 -i 2.3gp -i 1.mp3 -map 0:v -map 1:a -map 2:a -map 3:a -c:v copy -c:a copy result.mp4
任何提示都表示赞赏!
您必须混合音频流:
ffmpeg -i 1.mp4 -i 1.3gp -i 2.3gp -i 1.mp3
-filter_complex "[2]adelay=10000|10000[s2];[3:a][1:a][s2]amix=3[a]"
-map 0:v -map "[a]" -c:v copy result.mp4
Run Code Online (Sandbox Code Playgroud)
感谢Mulvya的解决方案.以下是有关如何将多个音频流与延迟要求混合的额外信息:
ffmpeg -i 1.mp3 -i 1.3gp -i 2.3gp -i 3.3gp -i 4.3gp -i 5.3gp -i 1.mp4 \
-filter_complex "[2]adelay=2790|2790[s2];\
[3]adelay=10300|10300[s3];\
[4]adelay=14930|14930[s4];\
[5]adelay=21090[s5];\
[0][1][s2][s3][s4][s5]amix=6[mixout]" \
-map 6:v -map [mixout] -c:v copy result.mp4
Run Code Online (Sandbox Code Playgroud)
困难的部分是:[2]adelay=2790|2790[s2]
.它意味着'选择第3个输入,提供2,79秒延迟并输出为s2','s2'用于跟随'amix'命令以生成'6 [mixout]',然后在'-map'中使用.