利用 ffmpeg 來串接影片

在班上進行活動時,我常會隨手拿出手機便開始進行錄影。

錄影不是問題,有問題的是我的手,會因為「手抖」、「手殘」或是一些莫名其妙的原因,造成正在拍攝中的影片中斷。而緊急處理的方法便是繼續拍攝,然後再把影片串接起來。

我試過 Youtube 以及一些線上可串接影片的網站,結果都令我很不滿意。

我也試著使用「影片編輯軟體」來做,但「匯出影片」的時間花了好久,實在太不符合時間效益比了。

後來想了想,還是利用 ffmpeg 來串接吧!

全部只要兩個步驟,便能輕易快速完成:

  1. 將要串接的影片,按照順序將檔名排列在一個文字檔中。(例如有 01.mp4, 02.mp4, 03.mp4 這三個要串接的影片)
  2. 開一個文字檔,檔名就為「filellist.txt」 好了,內容如下:
    file ‘/(檔案路徑)/01.mp4’
    file ‘/(檔案路徑)/02.mp4’
    file ‘/(檔案路徑)/03.mp4’

    若是在 MS Windows 系統底下,可以在 終端機模式中,使用底下命令,直接將目前的有的 mp4 檔案,先匯集成一個檔案:
    dir /B > filelist.txt

    若是還需要排序,可以再加上 sort :
    dir /B | sort > filelist.txt

  3. 執行 ffmpeg 命令
  4. ffmpeg -f concat -safe 0 -i filelist.txt -c copy target.mp4

    註:
    -safe 0 是不檢查指定的檔案路徑中是否含有不合法字元;
    -safe 1 是會檢查指定的檔案路徑中是否含有不合法字元。

發佈留言

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

*