使用FFmpeg以循环的特定帧速率在视频上显示图像

问题描述

我有一个mp4视频路径和一组图像(00.png,01.png ... 170.png)。这些图像具有Alpha(透明背景)。我想将这些图像在特定时间(00:05-1:35)重叠显示在视频上,并以15的帧速率循环播放。这意味着当所有图像全部显示一次时,如果未超过上述时间,它们将重新显示

sqliteDatabase

我尝试使用它,但是它什么也没做(只是尝试了1张图像作为开始)。

For example,assume that I've a set of 3 images(00.png,01.png,02.png) with 4 framerate and I want to display them only during 00:00-00:02 so:

the images that will be displayed at 00:00-00:01 will be: 00,01,02,00.

the images that will be displayed at 00:01-00:02 will be: 01,00,01.

如何获得我想要的东西?

一个“选择”选项可能会提供帮助:

https://video.stackexchange.com/questions/19873/extract-specific-video-frames

解决方法

使用setpts偏移图像时间戳,然后使用overlayenable option

ffmpeg -i input -framerate 15 -loop 1 -i %d.png -filter_complex "[1]setpts=PTS+5/TB[fg];[0][fg]overlay=enable='between(t,5,95)':shortest=1" output

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...