我使用ffmpeg生成复杂的视频。
该视频包含以下材料:
原始视频
视频配音
背景音乐
字幕
我的代码逻辑如下
将“原始视频”和“视频配音”合并为“视频A”
字幕“视频A”作为“视频B”
为“视频B”添加“背景音乐”作为“视频C”
“视频C”是我想要的视频。
我的代码
// Step1:
ffmpeg -i VideoDub.mp3 -i OriginalVideo.mp4 VideoA.mp4
// Step2:
ffmpeg -i VideoA.mp4 -vf subtitles=Subtitle.srt -y VideoB.mp4
// Step3:
ffmpeg -i VideoB.mp4 -i BackgroundMusic.mp3 -filter_complex "[1:a]aloop=loop=-1:size=2e+09[out];[out][0:a]amix" -ss 0 -t 100 -y VideoC.mp4
设计缺陷
我的问题
如何解决以上问题?
答案 0 :(得分:3)
使用filter_complex在一个命令中执行所有过滤。
ffmpeg -i OriginalVideo.mp4 -i VideoDub.mp3 -stream_loop -1 -i BackgroundMusic.mp3 -filter_complex "[0:v]subtitles=Subtitle.srt;[2][1]amix" -ss 0 -t 100 VideoC.mp4 -y