ffmpeg在不同时间的多个叠加

时间:2017-10-13 13:57:29

标签: ffmpeg overlay delay

我编写了一个bash脚本,它循环遍历各种RTMP直播流并每隔30秒切换一次。 我有一个在视频开头播放的PNG序列(blindRev-%d.png)。一个盲人被拉起来,露出了溪流。

28秒后,我希望它返回以覆盖流,以便在下一个流加载时,它会缩回以再次显示下一个流(blind-%d.png)。我已经尝试使用它的偏移来实现这一目标。不需要音频。

但是,只播放第一个PNG序列,第二个PNG序列似乎永远不会发生。

我使用的命令是:

ffmpeg -i rtmp://localhost/live/$stream -i blind/blindRev-%d.png -itsoffset 28 -i blind/blind-%d.png -filter_complex overlay -an -f flv rtmp://localhost/live/All

我做错了什么? 非常感谢。

1 个答案:

答案 0 :(得分:0)

您必须循环图像,然后更改其时间戳。

ffmpeg -i rtmp://localhost/live/$stream -loop 1 -i blind/blindRev-%d.png
  -filter_complex [1]setpts='mod(N,50)/25/TB+30*trunc(N/50)'[im];[[0][im]overlay
  -an -f flv rtmp://localhost/live/All

我假设您的序列有50张图像,并且您希望叠加层每30秒启动一次。