用 FFmpeg 減少製作縮時影片的時間

Yes Lee
3 min readJan 1, 2017

--

自從有了 GoPro 後就滿常拍縮時的,很喜歡縮時呈現出的時間感,不過,每次要把縮時拍出來的照片合成影片時都很傷腦筋,因為是用 Final Cut Pro 的關係,所以每次都要花很長的時間進行下面幾個動作

import 相片 -> 調整相片的 duration 為 1 -> export 成影片

import 的部分最崩潰,因為縮時的照片動輒幾百上千張,所以每次 import 時 Final Cut Pro 都會頓到死。

import 一卡車相片進 Final Cut Pro 的時候,頓呀~~

更痛苦的是,當你拍了 n 段縮時,你就必須重複做這些一樣的操作 n 次…

所以 2017 新年新氣象,決定改用 FFmpeg 來減少不必要的浪費生命。

一段 Time Lapse(縮時)

以 ts97 這一段 Time Lapse(縮時)來說,資料夾裡共有 285 張照片,第一張照片叫 G1195726.JPG,接下來的照片名稱在數字部分為連續。

接著,就可以利用 FFmpeg 的 Command Line Tool 直接把相片合成影片。

$ ffmpeg -r 30 -start_number 1195726 -i ts97/G%d.JPG -c:v libx264 -pix_fmt yuv420p ts97.mp4###
-r : set frame rate
-start_number : 給後面 %d 看的 start number
-i : set input files
-c:v : set video codec
libx264 : 一種編碼方式,可以用來做出 .mp4 的影片
-pix_fmt : set pixel format
yuv420p : 一種 pixel format,記得要設定!
** pixel format ffmpeg default 會使用 yuvj422p,但這樣做出來的影片 QuickTime 和大部分 player 都會沒辦法開 [ref.3]
FFmpeg CLI
用 FFmpeg 做出來的縮時影片!

成功!

終於,以後要做縮時影片只要一條 CLI 就可以啦~~!

--

--