ffmpeg 裁切:“對於寬度來說無效太大或非正尺寸”

ffmpeg 裁切:“對於寬度來說無效太大或非正尺寸”

我正在嘗試使用 ffmpeg 生成圖像縮圖。該資料夾包含各種不同解析度的 jpeg 檔案。

ffmpeg -y -i input1.jpg -filter_complex "scale=(iw*sar)*max(238/(iw*sar)\,358/ih):ih*max(238/(iw*sar)\,358/ih), crop=238:358" thumbnail.jpg

它適用於資料夾中的大多數影像,但crop=238:358會根據某些影像解析度而失敗:

input1.jpg: 500x800調整大小並裁剪成功

input2.jpg: 470x800調整大小和裁剪失敗:

寬度“238”或高度“358”的尺寸太大或非正數無效

237px當縮放圖像而不是238px由於縱橫比縮放時,就會出現問題。

由於這是一個處理一堆文件的腳本,我正在尋找一個可以處理所有圖像解析度的解決方案

答案1

比例過濾器會將表達式的結果截斷為整數,並且表達式可能會產生例如 237.999,它會被截斷為 237。

ffmpeg -y -i input1.jpg -vf "scale=(iw*sar)*max(238.1/(iw*sar)\,358.1/ih):ih*max(238.1/(iw*sar)\,358.1/ih), crop=238:358" thumbnail.jpg

相關內容