一定時間間隔で MP4 に GIF を重ねる (GIF の透明性を維持したまま)

一定時間間隔で MP4 に GIF を重ねる (GIF の透明性を維持したまま)

私は、次の特性を持つ gif オーバーレイを mp4 の上に実装する方法を探しています。

  • ビデオでGIFの透明性を維持する
  • GIF を特定の時間間隔でのみ表示するようにする (0:02-0:06 など)
  • GIFをMP4ファイルの左下隅に配置する

答え1

使用することができますx=between(t, 2, 6), 0, NAN) 式の評価およびy=(H-h)。フィルター
を参照overlayドキュメンテーション(例を読んでみてください。十分近いです)。

ffmpeg -y -i in.mp4 -i in.gif -filter_complex "[0][1]overlay=x='if(between(t, 2, 6), 0, NAN):y=(H-h)':format=yuv444" -vcodec libx264 -pix_fmt yuv444p -crf 17 -acodec copy out.mp4

format=yuv444-pix_fmt yuv444p出力品質を向上させるために使用されます。

私はフォローしている透明GIFを使いました役職、合成パターンを重ね合わせます。

出力フレームのサンプル:
ここに画像の説明を入力してください


合成パターンの構築(テストに使用):

ffmpeg -y -f lavfi -r 10 -i testsrc=size=640x480:rate=1:duration=300 -vf setpts=N/10/TB -vcodec libx264 -pix_fmt yuv444p -crf 17 in.mp4

透明度のあるGIF画像:
ここに画像の説明を入力してください

関連情報