ffmpeg concat视频和图像问题

ffmpeg concat video and image issue

我有一个 190 秒长的视频。 我想显示带有音频和水印的视频的一部分(从第 28 秒到第 154 秒) 然后视频淡出,然后在视频结束时显示图像 5 秒。

一切正常,直到我添加了 concat 和 endpic.jpg

这是它编写的脚本,但它不起作用。这真的让我发疯。

ffmpeg -y -ss 28 -i input.mp4 -loop 1 -i watermark.png -loop 1 -t 5 -i endpic.jpg -f lavfi -t 5 -i anullsrc -filter_complex "[1]fade=in:st=3:d=1:alpha=1,fade=out:st=20:d=1:alpha=1[w]; [0][w]overlay=main_w-overlay_w-10:main_h-overlay_h-10[sonh];[sonh]fade=out:st=154:d=1[sonhh];[sonhh:v][sonhh:a][2:v][3:a]concat=n=2:v=1:a=1[v][a]" -t 155 -map "[v]" -map "[a]" output.mp4

使用

ffmpeg -y -ss 28 -to 154 -i input.mp4 -loop 1 -t 22 -i watermark.png -loop 1 -t 5 -i endpic.jpg -f lavfi -t 5 -i anullsrc -filter_complex "[1]fade=in:st=3:d=1:alpha=1,fade=out:st=20:d=1:alpha=1[w]; [0][w]overlay=main_w-overlay_w-10:main_h-overlay_h-10,fade=out:st=154:d=1[sonhh];[sonhh][0:a][2:v][3:a]concat=n=2:v=1:a=1[v][a]" -t 155 -map "[v]" -map "[a]" output.mp4

如果您不限制输入持续时间,ffmpeg 将一直输入到输入的 190 秒,并且由于 -t 155,输出永远不会到达输入的末尾和 endpic 的开始。

过滤器图中分配的链接标签不代表原始输入,因此 [sonhh:v][sonhh:a] 无效。输入音频保持 [0:a].

输入 -to 是几个月前添加的,因此请确保您使用的是最新版本的 ffmpeg。