FFMPEG Zoompan 濾波器範例

FFMPEG Zoompan 濾波器範例

我需要創建一個視頻ffmpeg使用各種平移和縮放縮放平移篩選。我必須能夠對影片的所有區域建立放大、縮小、平移和平移效果,例如:左上、中上、右上、右下、右下、中下、左下、左側和中間。到目前為止,我只能弄清楚如何放大到幾個區域,例如:

放大左上角:

-vf "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x-1)':y='y':d=125"

右上角放大:

-vf "zoompan=z='zoom+0.001':x='if(gte(zoom,1.5),x,x+1)':y='y':d=125"

左下角放大:

-vf "zoompan=z='min(zoom+0.0005,1.5)':y='if(gte(zoom,1.5),y,y+1)':x='x':d=125"

我無法找到一個好的資源來解釋這些數字是如何運作的以及如何找出所有這些變化的特定縮放過濾器。

幫助?

答案1

每幀都會評估 Zoompan 過濾器表達式。表達式中引用的變數包含最後計算的值,如果是第一幀,則包含預設值。

計算表達式的值zoom表示結果尺寸與原始尺寸的比率,即zoom = 3表示縮放視窗具有輸入寬度和高度的三分之一。

xy表示縮放視窗的左上角在輸入影像中的位置。

d是評估和應用縮放的持續時間(以幀為單位)。

當然,您應該指定輸出幀速率fps和大小s 過濾器的(看它的文檔),否則濾鏡將套用其預設值 25 fps 和 1280x720,這可能不是您想要的。

為了平滑縮放,您可能需要高級預先的圖像。

相關內容