手頭有一個豎屏拍攝的視頻(真誠建議不要這么做。。),導入到電腦上以后勢必要把它旋轉90°,可是沒想到就這樣簡單的一個功能,嘗試了N個非編軟件(openshot, pitivi,還有坑爹的lives)后竟然沒有一個可以滿足我的要求。要么>是不支持自定義分辨率(openshot),要么是圖像比例失調(pitivi),要么是奇慢無比(lives,感覺這貨是面向工作站的大型非編工具,我等屌絲駕馭不了)。最后無奈,自己google,發現還是老外靠譜,一條命令拯救世界:
ffmpeg -i INPUT.AVI -vcodec libx264 -preset slower -crf 18 -threads 4 -acodec copy OUTPUT.MKV
解釋一下參數:
-i
待轉碼文件-vcodec
選擇視頻編碼。做過一番搜索,相比與MPEG2, MPEG4等,H.264是公認最好的高清編碼格式,同時壓縮率也高於MPEG4,所以我選擇使用H.264(libx264)進行視頻編碼。-preset
選擇編碼預設,更慢=更好的視頻質量,可選取值為ultrafast
,superfast
,veryfast
,faster
,fast
,medium
,slow
,slower
,veryslow
,placebo
。placebo
是沒用的取值。-crf
Constant Rate Factor,0~51之間取值,0為無損,23為默認取值,取值越大,視頻整體質量越差。一般建議在18~28之間取值。18已經達到視覺無損的效果,即人眼幾乎察覺不到和原片的差別。-threads
編碼使用線程數,CPU幾個核心就設置幾個線程好了。-vf
濾鏡,我們只需要用到旋轉濾鏡transpose=2
,transpose
濾鏡可取0-3,0為逆時針90°且垂直翻轉,1為順時針旋轉90°,2為逆時針旋轉90°,3為順時針90°且垂直翻轉。-acodec
音頻編碼,這里直接設置為copy
保留原文件音頻編碼。- 最后設置輸出文件為OUTPUT.MKV
詳細參數說明可以參考FFmpeg and x264 Encoding Guide。