發表文章

目前顯示的是 七月, 2012的文章

使用 ffmpeg 壓縮影片

UbuntuCompilationGuide – FFmpeg 說明如何在 Ubuntu 上安裝 ffmpeg 並包含 libx264 (支援 H.264)。全部安裝和移除的指令都有了, 超方便的。實測的結果, 用 libx264 壓出來的檔案又小畫質又好, 是必要的元件。 H.264 web video encoding tutorial with FFmpeg 一步步解釋如何用 ffmpeg + H.264 來壓縮, 並解釋各項參數的意思。雖然 man page 都有說明, 但是實在是太~~長了。先從別人的文章找到關鍵的參數, 有必要時再回頭查, 輕鬆許多。 我最後用的指令如下: $ ffmpeg -i INPUT.MOV -vcodec libx264 -b:v 3000k -r 25 -vf "transpose=1" -threads 0 -acodec copy -y OUTPUT.mp4 參數位置有影響 下錯的話 ffmpeg 不會有抱怨, 然後參數也無效。有時則是抱怨奇怪的訊息, 因此被誤導。這點讓我卡了最久。上篇文章作者建議的順序是: ffmpeg [input options] -i [input filename] -vcodec [video options] -acodec 用原本的 audio codec 避免爆音 原本壓完有出現爆音, 改用 -acodec copy 就正常了。反正最主要的壓縮來自 bitrate, 這樣做沒什麼損失。 壓縮率主要最決於 bitrate (bits/s) 作者特別強調畫面大小不會影響檔案大小, 我也就沒試了。基本上就是調整 -b:v, 從參數和影片長度即可推論出最後大概的大小。2000k 畫質就很不錯了。 注意 FPS 不知為什麼我上回用 iPhone 拍的影片 fps 正常, 這回拍的 tbr 變成 600, 上回是 24。結果壓縮的時候, 顯示的 fps 變 90 多, 最後壓出來的影片雖然不大, 播放卻超級頓。從 ffmpeg -i INPUT.MOV 來看, fps 應該是 25 左右, 加上 -r 25 重壓就可以順暢播放了。 旋轉畫面90度 用 iPhone 直拍的話, 在桌機上播畫面會歪一邊, 可加上 -vf "transpose=1" 將它轉回來…