我想用ffmpeg裁剪視頻幀,並且我想自動縮放裁剪圖像。 我看到一個選項,在AV過濾器:http://ffmpeg.org/libavfilter.html#SEC41ffmpeg:縮放輸出裁剪寬度/高度不起作用
./ffmpeg -i video.mp4 -vf 「作物= 640:480,規模=流量:哦」 -f MPEGTS UDP://127.0.0.1: 1234
我收到一個錯誤:計算表達式「噢」當錯誤
我想用ffmpeg裁剪視頻幀,並且我想自動縮放裁剪圖像。 我看到一個選項,在AV過濾器:http://ffmpeg.org/libavfilter.html#SEC41ffmpeg:縮放輸出裁剪寬度/高度不起作用
./ffmpeg -i video.mp4 -vf 「作物= 640:480,規模=流量:哦」 -f MPEGTS UDP://127.0.0.1: 1234
我收到一個錯誤:計算表達式「噢」當錯誤
試試這個:
./ffmpeg -i video.mp4 -vf "scale=640:ih*640/iw, crop=640:480" -f mpegts udp://127.0.0.1:1234
上面的代碼將第一縮放視頻640
和保持縱橫比的高度,然後 作物640x480.
你確實需要用數字來代替ow
和oh
,代表的寬度和高度分別縮放視頻。
我需要動態改變種植窗口(我在ffmpeg上做了一些改動),我想根據實際的裁剪窗口來縮放它。據我瞭解,價值觀'流'和'哦'應該做這項工作,不是嗎? –
沒有。你必須把數字放在文檔說'流'和'哦'的地方。 –
而不是ow和oh(不是常量),你可以使用像out_w和out_h這樣的常量表達式。 – BrainSlugs83
我假設你得到:
Error when evaluating the expression 'oh'.
Maybe the expression for out_w:'ow' or for out_h:'oh' is self-referencing.
因爲你嘗試設置輸出W/H到輸出W/H?你想要做的是
ffmpeg -i video.mp4 -vf "crop=640:480,scale=iw:ih" -f mpegts udp://127.0.0.1:1234
也就是說,設置輸出W/H到什麼輸入寬度(IW)和輸入高(IH)了。
請注意,如果源視頻小於您嘗試剪裁的尺寸(640:480),則會出現錯誤。您可以使用ffmpeg的表達式語法來首先檢查是否需要修剪/縮放以避免此錯誤。
作物如何選擇哪部分作物?是否保證始終採用視頻中的精確中心「640x480」? – user779159