特定の時間に開始して特定の時間に終了する単一の画像をビデオに追加することができましたが、複数の画像に対してこれを行う方法が見つかりません。私は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:v] [1:v]を追加し、['tmp']を出力します。次に['tmp']を次の構文の入力として追加します。2つの画像の場合:
画像はいくつでも追加できます。'tmp'を2番目の引数として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')
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加