FFmpeg - 透かしのみをフェードイン

FFmpeg - 透かしのみをフェードイン

フェードイン効果のあるビデオに watermark.png 画像を配置しようとしています。コマンドは次のとおりです。

ffmpeg -i input_vid.mp4 -c:v libx264 -pix_fmt yuv420p -vf movie=watermark_3.png, scale=144:31 [ウォーターマーク]; [in][ウォーターマーク] overlay=5:Hh-15, fade=in:0:30:alpha=1[out] -s 180x320 -preset ultrafast -c:a copy out.mp4

しかし、これによりビデオ全体が黒からフェードインします。何かアイデアはありますか?

答え1

使用

ffmpeg -i input_vid.mp4 \
      -vf "movie=watermark_3.png:loop=0.1,setpts=N/FRAME_RATE/TB,scale=144:31,format=rgba,fade=in:0:30:alpha=1[watermark]; \
           [in][watermark]overlay=5:H-h-15:shortest=1,scale=180x320[out]" \
      -c:v libx264 -pix_fmt yuv420p -preset ultrafast -c:a copy out.mp4

フェードは、ウォーターマーク チェーンにのみ適用する必要があります。ループ フラグは 1 未満の数値に設定され、単一のイメージが無期限にループされます。setpts は、タイムスタンプが単調に増加するようにします。

関連情報