簡體   English   中英

使用ffmpeg生成視頻縮略圖而不會出現任何失真

[英]Use ffmpeg to generate video thumbnail without any distortion

要從視頻中獲取200x100縮略圖,我會執行ffmpeg -ss 100 -i /tmp/video.mp4 -frames:v 1 -s 200x100 image.jpg 但如果源視頻的寬高比與200x100 ,則縮略圖會變形(拉伸或壓扁,水平或垂直)並且看起來很糟糕。

有沒有一種方法, ffmpeg可以弄清楚例如500x200視頻是100px太寬,從右邊刪除50px和從左邊50px ,使視頻400x200 而且因為400x200的寬高比與200x100相同,所以縮略圖沒有失真。

我知道有其他工具可以對ffmpeg生成的縮略圖執行此操作,但我更喜歡在ffmpeg執行此操作而不必再次處理縮略圖。

如果縮略圖大小為200x100,則運行

ffmpeg -ss 100 -i /tmp/video.mp4 -vf "scale='if(gt(dar,200/100),100*dar,200)':'if(gt(dar,200/100),100,200/dar)',setsar=1,crop=200:100"  -frames:v 1 image.jpg

縮放濾鏡檢查源和縮放的寬高比,以便一個尺寸適合200x100畫布,另一個尺寸適合超調,除非它是完美匹配。 然后,裁剪過濾器從中心將其裁剪為200x100,從而處理出界區域。

您可以在比例過濾器中使用force_original_aspect_ratio選項。

ffmpeg -ss 100 -i /tmp/video.mp4 -frames:v 1 -q:v 2 -vf "scale=200:100:force_original_aspect_ratio=increase,crop=200:100" image.jpg

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM