使用ffmpeg混合各种视频和音频文件

时间:2019-05-30 02:10:56

标签: audio video ffmpeg mp3 mp4

输入:各种mp4文件,有些带有音频,有些没有,而一个音乐mp3文件

视频输出:一个mp4文件,所有视频按顺序显示

音频输出:音乐mp3文件在第一次合并的mp4完成后开始,并继续到视频结尾,然后突然停止。在第一个之后的所有后续视频中,有音频的音频都需要将其音频与音乐mp3合并

从视觉上看,这给出了: intro_with_it's_own_audio -> start_mp3 -> play_all_other_mp4's (some with audio mixed) -> end_mp3_playback_at_end_of last_video

如何将其放入一个ffmpeg命令?到目前为止,我已经拥有了

ffmpeg -i intro.mp4 {repeat: -i ...various_input_files...} -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0][3:v:0][3:a:0][4:v:0][4:a:0]concat=n=5:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" "output.mp4"

1 个答案:

答案 0 :(得分:0)

其中一部分...通用命令;

ffmpeg -i audio.mp3 -i audio.mp3 -i video1.mp4 -i video2.mp4 -filter_complex "[2:v][3:v]concat=n=2:v=1:a=0[v];[0:a][1:a]concat=n=2:v=0:a=1[a]" -shortest -map "[v]" -map '[a]' "out.mp4"

这将播放音频两次(如果需要,可以将更多音频添加到concat中)并将其与视频合并,并在完成视频后突然终止(按照原始问题)。

仍然不确定如何将其与已经附加了音频的简介合并,即首先使用其自身的音频​​播放intro.mp4,然后再进行上述操作。我可以多命令,但将其放在一行中会很好。