閒聊嘴炮

用FFmpeg取代 AWS Media Converter

在之前一篇原本已經打算用 AWS Media Converter,畢竟價錢算是合理,但後來想到還有閒置的便宜 cloud instance (在 google cloud, 1vCPU, 1.7G ram, 50G HDD),不如來試試看在上面跑 ffmpeg performance。

在 ubuntu 18.04lts 上安裝 ffmpeg 其實還蠻容易的,apt-get install 就可以解決,而且 dependent libraries一個不漏。
用 aws media converter將 3xMB 的 1080p 檔案(bit rate約 110000kbps)切段之後大約剩下28MB,有稍微被壓縮過,花費大概 20秒時間。

如果要差不多的壓縮率,用 ffmpeg 指定 quality level 16 (參數 crf,參考這篇)。最終費時約 50 秒,比AWS是明顯地慢但不至於太誇張。

$ ffmpeg -i 1080.mp4 -map 0 -codec:v libx264 -crf 16 -codec:a aac -f ssegment -segment_list 1080.m3u8 -segment_list_flags +live -segment_time 10 1080_out%03d.ts

後來想想不對,既然沒有壓縮太多,如果使用者不介意file size,那不如指定 -codec:v copy 參數直接切段。

$ ffmpeg -i 1080.mp4 -map 0 -codec:v copy -codec:a aac -f ssegment -segment_list 1080.m3u8 -segment_list_flags +live -segment_time 10 1080_out%03d.ts

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料