2015-09-01 30 views
0

在使用scale濾波器的ffmpeg,我看到類似這樣的例子很多:ffmpeg中的變量「a」是什麼?

ffmpeg -i input.mov -vf scale="'if(gt(a,4/3),320,-2)':'if(gt(a,4/3),-2,240)'" output.mov 

什麼是變量a意味着什麼?

回答

1

從FFmpeg的scale options文檔。

一個同爲IW/IH

其中

IW輸入寬度IH輸入身高

+0

是的,但是這是很好地隱藏在文件中,國際海事組織,並應納入wiki頁面「縮放(調整)與ffmpeg的」 – coco

+0

@coco維基只有!來補充文檔,但任何人都可以編輯wiki,所以如果你願意的話可以隨意添加。 – LordNeckbeard

1

我讀完https://trac.ffmpeg.org/wiki/Scaling%20(resizing)%20with%20ffmpeg之後的猜測是a是輸入文件的寬高比。

網頁上給出的例子給你一個知道如何使用它:

有時是有必要擴大在這樣的方式輸入圖像它適合 到指定的矩形,也就是說,如果你有一個佔位符(空的 矩形),您可以在其中縮放任何給定的圖像。由於需要檢查原始高寬比 以決定指定哪個組件並將其他 組件設置爲-1(以保持寬高比),因此這是一個難點。例如,如果我們 希望擴展我們的輸入圖像與的 320×240尺寸的矩形,我們可以使用這樣的事情:

ffmpeg -i input.jpg -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" 
output_320x240_boxed.png 
1

在FFmpeg維基「Scaling (resizing) with ffmpeg」,他們用這個例子:

ffmpeg -i input.jpg -vf scale="'if(gt(a,4/3),320,-1)':'if(gt(a,4/3),-1,240)'" output.png 

gt(a,4/3)的目的是,據我所知,確定視頻的方向(縱向或橫向)(或圖像,在這種情況下)。

這不會爲一些奇怪的縱橫比(7工作:6,對於例如,在gt(a,4/3)會錯誤地把假

在我看來,最好使用視頻的高度和寬度,所以。上述線路將改爲:

ffmpeg -i input.jpg -vf scale="'if(gt(iw,ih),320,-1)':'if(gt(iw,ih),-1,240)'" output.png