我想使用FFMPEG来传输多个音频和一个视频。
材料是:
要求是:
要求如下所示。
< - 短片段 - 1.3gp持续时间 - > < - short-clip-2.3gp持续时间 - >
< -------------------------------------- 1.mp3 ---- -------------------------------------------------&GT ;
< -------------------------------------- 1.mp4 ---- -------------------------------------------------&GT ;
我使用的命令如下,但它不能按预期工作。
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
任何提示都表示赞赏!
答案 0 :(得分:5)
你必须混合音频流:
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
答案 1 :(得分:5)
感谢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
困难的部分是:[2]adelay=2790|2790[s2]
。它意味着选择第三个输入,给出2,79秒的延迟和输出为s2',' s2'用于以下' amix'命令生成' 6 [mixout]'然后在' -map'中使用。