如何在ffmpeg中添加相同视频纵横比的视频开头的介绍图像



我有一个图像和一个视频。我想在实际视频之前添加图像作为视频,这样我就可以用介绍帧流式传输视频5秒。

我找到了一个命令,完全满足了我的要求,但在视频结尾添加的命令图像中,我需要视频的开头。让我在下面分享命令:

ffmpeg -i 1.mp4 -loop 1 -t 5 -i 2.jpg -f lavfi -t 5 -i anullsrc -filter_complex "[0]split[base][full];[base]trim=0:5,drawbox=t=fill[base];[1][base]scale2ref=iw:ih:force_original_aspect_ratio=decrease:flags=spline[2nd][base];[base][2nd]overlay='(W-w)/2':'(H-h)/2'[padded];[full][0:a][padded][2:a]concat=n=2:v=1:a=1[v][a]" -c:v libx264 -c:a aac -strict -2 -map "[v]" -map "[a]" output.mp4

应根据视频分辨率动态调整图像大小。最好的解决方案是发自内心的感激。

ffmpeg -i 1.mp4 -loop 1 -t 5 -i 2.jpg -f lavfi -t 5 -i anullsrc -filter_complex "[0:v]trim=0:5,drawbox=t=fill[base];[1][base]scale2ref=iw:ih:force_original_aspect_ratio=decrease:flags=spline[2nd][base2];[base2][2nd]overlay='(W-w)/2':'(H-h)/2'[padded];[padded][2:a][0:v][0:a]concat=n=2:v=1:a=1[v][a]" -c:v libx264 -c:a aac -map "[v]" -map "[a]" output.mp4

  • 不需要拆分过滤器
  • 请勿重复使用标签。每个输出标签必须是唯一的。例如,您多次使用[base]。所以我把下一个重命名为[base2]
  • 视频的顺序由给concat滤波器的顺序决定。我重新安排了它,使[padded][2:a][0:v][0:a]之前播放
  • -strict -2自2015年以来就不再需要了(它用于AAC编码器(。除非你的FFmpeg很旧,否则你不需要它

最新更新