ffmpeg concat视频和图像问题

时间:2018-10-10 13:18:19

标签: ffmpeg ffmpeg-php

我有一个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

1 个答案:

答案 0 :(得分:1)

使用

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将持续输入直到190s,并且由于-t 155,输出将永远不会到达输入的结尾和endpic的开头。

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

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