2014-05-15 88 views
2

我有一個不同分辨率的視頻文件列表。我應該將它們改爲1920x1080。使用ffmpeg和縮放濾鏡很容易,但結果視頻是錯誤的寬高比。如果我使用寬高比,那麼輸出分辨率不是全高清。是否有可能將分辨率更改爲最好,如scale =「'if(gt(a,16/9),1920,-1)':'if(gt(a,16/9), - 1,1080)' 「 和所有剩餘空間填充黑色?將視頻調整爲相同大小

回答

1

找到了解決辦法,但不知道這是很好的:

ffmpeg -i a5732-480x320-clip01-sound.mp4 -filter_complex "[0:0]split[main][back];[back]scale=1920:1080[scale];[scale]drawbox=x=0:y=0:w=1920:h=1080:color=black:t=1000[draw];[main]scale='if(gt(a,16/9),1920,-1)':'if(gt(a,16/9),-1,1080)'[proc];[draw][proc]overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2[fhd];[fhd]setsar=1/1[sarfix]" output.mp4 

詳情:分割視頻流兩個流。首先我縮放到1920x1080,然後將所有區域填充爲黑色。第二個流我轉換爲1920x1080保存寬高比,因此視頻總是少於或等於FullHD分辨率。然後第二個流覆蓋整個黑色流,因此空閒區域變黑。最後一個過濾器是固定的SAR。

也許有人知道更優雅的解決方案?