我正在尝试使用 FFMPEG 制作视频,并将多个视频连接在一起。但是,最后两个视频是使用该-loop
选项从 PNG 图像生成的。
ffmpeg -loop 1 -i img001.png -filter crop=768:432:128:72 -c:v libxvid -q 1 -t 5 -s 360x288 -aspect 16:9 out1.mp4
ffmpeg -loop 1 -i img002.png -filter crop=768:432:128:72 -c:v libxvid -q 1 -t 5 -s 360x288 -aspect 16:9 out2.mp4
然后我使用 wav 文件为其添加静音。
ffmpeg -i out1.mp4 -i silence.wav -shortest -c:v copy -c:a ac3 out11.mp4
ffmpeg -i out2.mp4 -i silence.wav -shortest -c:v copy -c:a ac3 out21.mp4
之后我希望它已经准备好了,所以我运行了 concat 过滤器。
ffmpeg -f concat -i full.txt -c copy "Q1-Full.mp4"
full.txt
包含
file 'Likoonl-Q1-Intro.mp4'
file 'Likoonl-Q1-All.mp4'
file 'Likoonl-Q1-X2.mp4'
file 'out11.mp4'
file 'out21.mp4'
在运行结束时,我得到了这个输出。
[mp4 @ 049e6a80] st:0 PTS: 98240188 DTS: 98240188 < 689858768 invalid, clipping
当我播放时Q1-Full.mp4
,它具有正确的持续时间,但在“Likoonl-Q1-X2.mp4”结束时停止播放。
答案1
ffmpeg -i Q1-Full.mp4 -i Q1-Contact.mp4 -filter_complex "[0:0] [0:1] [1:0] [1:1] concat=n=2:v=1:a=1 [v] [a]" -map "[v]" -map "[a]"