オーバーレイ画像ffmpegを左右に遷移させる方法


3

下のコマンドを使用して、ビデオ上でオーバーレイ画像を左から右に切り替えました。

ffmpeg -i Test.mp4 -i transparent.png -filter_complex "overlay = x = 'if(gte(t、0)、-w +(t)* 100、3)':y = 450" out.mp4

オーバーレイ画像は左から右に連続的に移動しています。左から右への移行のように、特定のポイントで停止する必要があります。どうやってするか?

回答:


9

へえ、面白い仕事。解決策は

ffmpeg -i 1.ts -i 2.ts -filter_complex "[0:v][1:v]overlay=x='if(lte(-w+(t)*100,w/2),-w+(t)*100,w/2)':y=0[out]" -map '[out]' -y out.mp4

このフィルターグラフは、画面の半分(w / 2)に達するまで、2番目の画像を左から右に移動します。したがって、変更する必要があるのは、この式のw / 2だけです。いくつかの静的停止ポイント(100ピクセル)でも同じです:

ffmpeg -i 1.ts -i 2.ts -filter_complex "[0:v][1:v]overlay=x='if(lte(-w+(t)*100,100),-w+(t)*100,100)':y=0[out]" -map '[out]' -y out.mp4

それが役に立てば幸い。


ここに別の質問を投稿しましたsuperuser.com/questions/730062/ffmpeg-fade-between-images助けてもらえますか?
2vision2

表現することにより簡略化することができ/を表現。以下の他の回答を参照してください。(最初に別の質問のために書いたが、重複したスレッドを作成しないようにここに移動した。)iflteminmax
slhck

いいね!左側ではなく右側から取得したい場合、どの値を否定/反転する必要がありますか?
キンバリーW

1

スライド効果を行う方法は?

一般的に、スライドエフェクトの場合、次のことを行う必要があります。

  • colorsourceを使用して、画像が表示される適切なサイズと継続時間で特定の色(黒など)の背景を作成します。
  • ソースで画像を読むmovie
  • フィルターで背景の上に画像を重ねるoverlay
  • 現在のフレーム番号またはタイムスタンプに従ってオーバーレイの座標を設定します

以下に画像を保存した例を示しますimage.png(サイズ:1920×1080、クリップの長さ:15秒):

ffmpeg -f lavfi -i "\
color=black:d=15:s=1920x1080[background]; \
movie=image.png[overlay]; \
[background][overlay]overlay='W-n:(H-h)/2' \
" output.mp4

画像は停止することなく右から左にスライドします。

以下は、画像が中央で停止する例です。

ffmpeg -f lavfi -i "\
color=black:d=15:s=1920x1080[background]; \
movie=image.png[overlay]; \
[background][overlay]overlay='min(W-n\,0):(H-h)/2' \
" output.mp4

スライディングパラメータを制御する方法

任意の時点でのオーバーレイの位置は、overlayフィルターのオプションとして指定されます。位置は、画像の左上隅の座標として指定する必要があります。

上記の最初の例のX / Y座標のペアはW-nandです(H-h)/2。ここで、

  • W 背景の幅です(1920)
  • n 現在のフレーム番号
  • H 背景の高さ(1080)
  • h オーバーレイの高さです(ここでは1080ですが、異なる場合があります)

したがって、フレーム0では、画像は最初は左から1920-0 = 1920ピクセルに配置されるため、nが増加すると画像は右からスライドします。

いくつかのヒント:

  • スライド画像の速度を上げたい場合は、nに固定数を掛ける必要があります。
  • 画像をある時点で停止させる場合、x式はに評価される0必要があるため、を使用できますmin(W-n, 0)。この場合、フレーム番号が幅よりも大きい場合でも、イメージは負のx位置に移動されず、0のままになります。
  • 画像を左から右、または下から上にスライドする場合は、それに応じて座標の式を変更します。

これらの変数の意味を説明していただきありがとうございます。本当に助かりました。
r.mirzojonov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.