FFmpeg:minterpolate 運動插幀、補幀,任意幀數升至 60 FPS 甚至更高!

2019/08/27 7,442 4 軟體應用 , 多媒體 , 影片編輯

FFmpeg 是一個可以執行錄影、轉檔、串流等功能的自由軟體,支援多種格式音訊和視訊。過去曾經寫過 Hybrid 的補幀教學,速度非常快,且效果也不錯,我就再想 FFmpeg 能不能做到一樣的補幀效果,還真的有!2016 年底 FFmpeg 正式推出 minterpolate,它可以執行「運動插幀」,也就是我們說的補幀,將任意幀數升至 60 FPS 甚至更高!不過如果提升太多還是可能會破圖,經過嘗試之後我終於成功補幀 Shelter 的官方影片,原始影片僅 23.98 fps,提升後可高達 60 fps,由於是 1920 x 1080 px 的高畫質六分鐘短片,花了一個鐘頭多才補幀完畢,個人覺得跟 Hybrid 比起來慢些,但我測試的桌機單純用 CPU 跑的情況這樣算不錯了!但如果求快的建議可以直接用 Hybrid。

minterpolate 運動插幀功能預設輸出 FPS 為 60,詳細官方文檔有,不過真的挺專業的,基本上我們只會用到 fps 參數,這次的指令如下:

ffmpeg -i input.mp4 -filter:v "minterpolate=fps=60" -c:a copy output.60fps.mp4

說明:ffmpeg 啟動程式、-i 輸入影片檔案、-filter:v 影片濾鏡(minterpolate=fps= 運動插幀後的 fps)、-c:a copy 音源直接複製、輸出影片檔案。
因此這個指令會將「input.mp4」補幀(插幀)至 60 fps,輸出影片「output.60fps.mp4」的音源直接複製來源影片的音源。


▲ 先將編譯好的「FFmpeg」與「輸入檔案」放在同個目錄,再用終端機(命令提示字元)打開這個目錄,接著打上剛剛的指令執行。

▲ 在跑的過程會有資訊告知執行到第幾幀、執行速度、時間點等。

▲ 最後跳回目錄表示輸出完成!這是很漫長的過程 ...。

▲ 其他參數都沒太大更動,框架速度明顯從 23.98 畫面/秒(fps)提升至 60 畫面/秒(fps),這就是補幀的功能!

▲ 影片欣賞《FFmpeg minterpolate 運動插幀/補幀與原始影片比較畫面(Shelter 23.98FPS VS 60FPS)》,僅供學術用,放個人頻道展示。畫面運鏡時最能感受到補幀的威力,模糊感減少非常多~畫面變得相當流暢!短短的影片就能讓你了解為何要補幀了!

贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇