2

ffmpeg初心者です。ax 秒から y 秒までの入力ビデオのオーバーレイとして gif アニメーションを設定したいと考えています。次のコードを試しました

var wmimage= 'public/source/watermark_file.gif';

ffmpeg('public/source/small.mp4')
.addOption(['-ignore_loop 0', '-i '+wmimage+ '','-filter_complex [0:v][1:v]overlay=10:10:shortest=1:'])
.save('public/video/output-video2.mp4');

これにより、入力ビデオの長さの最初から最後まで gif アニメーション オーバーレイが得られます。しかし、私はgifを一定期間表示する必要があります(例:2秒から5秒まで)。だから私は追加しようとしました

enable="between(t,2,5)"

.addOption(['-ignore_loop 0', '-i '+wmimage+ '','-filter_complex [0:v][1:v]overlay=10:10:shortest=1:enable="between(t,2,5)"'])

しかし、それは投げます

Error: ffmpeg exited with code 1: Error initializing complex filters.
Invalid argument

overlayと の前にenable オプションを試しましたshortest。しかし、同じエラーが発生します。

どんな助けでも大歓迎です。

4

2 に答える 2

0

最後に私は解決策を得ました。それは簡単でした。私の以前のコードは

.addOption(['-ignore_loop 0', '-i '+wmimage+ '','-filter_complex [0:v][1:v]overlay=10:10:shortest=1:enable="between(t,2,5)"'])

一重引用符を二重引用符に、またはその逆に置き換えます。

.addOption(["-ignore_loop 0", "-i "+wmimage+ "","-filter_complex [0:v][1:v]overlay=10:10:shortest=1:enable='between(t,2,5)'"])

したがって、各引用符はffmpegで重要です。

于 2017-11-09T10:55:01.857 に答える