如何解决如何在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 很旧,否则您不需要它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。