我设法将一个图像添加到某个时间开始并在特定时间结束的视频中,但我无法找到为多个图像执行此操作的方法。我使用fluent-ffmpeg。
这是我的代码:
ffmpeg('../videos/testklein.mp4')
.input('../src/test.png')
.input('../src/0.png')
.input('../src/1.png')
.addOptions([
"-strict -2"
])
.complexFilter([
{
filter: 'overlay',
options: {
x: 200,
y: 200,
enable: 'between(t,1,3)',
}}, {
filter: 'overlay',
options: {
x: 200,
y: 200,
enable: 'between(t,3,5)',
}},
{
filter: 'overlay',
options: {
x: 200,
y: 200,
enable: 'between(t,5,7)',
}
},
])
我想我需要明确说明什么过滤器应该采用什么文件,但我不确定它的语法。
答案 0 :(得分:0)
这是正确的语法: 第一个添加输入[0:v] [1:v]并输出['tmp'] 然后添加['tmp']作为下一个的输入。对于2张图片:
我可以添加任意数量的图像。 将'tmp'作为第二个参数传递给complexFilter!
(您可以将tmp更改为任何字符串)
.complexFilter(
[
{
"filter": "overlay",
"options": {
"enable": "between(t,2,4)",
"x": "810",
"y": "465"
},
"inputs": "[0:v][1:v]",
"outputs": "tmp"
},
{
"filter": "overlay",
"options": {
"enable": "between(t,13,14)",
"x": "810",
"y": "465"
},
"inputs": "[tmp][2:v]",
"outputs": "tmp"
}
], 'tmp')