這次為了去日本東京迪士尼,特地買了 GoPro Hero 7 Black 來錄遊行的畫面。
不過回來台灣以後,找了很久並沒有找到適合的視窗介面軟體可以不需要轉換檔案格式,直接將 GoPro Hero 7 所產生的 HEVC 影像檔進行合併,後來還是用 ffmpeg + script 來解決比較快,不但合併速度快,而且因為沒有進行轉檔,畫質完全沒有損失。最近腦容量越來越小,還是筆記一下,免得之後又要重新喚起記憶。
- 下載 ffmpeg
從這兒 https://ffmpeg.org/download.html,找 static 或 shared 版本。下載完畢解開,我是放在 ~/bin 下
- 寫個 shell script.
#!/bin/bash if [ $# -lt 2 ]; then echo "$0 <Output_merge_file>> <video 1> <video 2> ... <video 10>" exit 0 fi # 合併清單的檔名,我放在 $TMPDIR 目錄下的 gopro_list.txt FILE_LIST=$TMPDIRgopro_list.txt if [ -f $FILE_LIST ]; then rm $FILE_LIST fi OUTPUT_FILE=$1 # 產生合併檔案清單 IDX=0 for args in $@ do # 第一個參數 $1 是合併後的檔名,無須產生到檔案清單中 IDX=$((IDX+1)) if [ $IDX -eq 1 ]; then continue fi echo "file $args" >> $FILE_LIST done # 指定 ffmpeg 指令位置 FFMPEG_CMD=~/bin/ffmpeg # 開始合併 # -f concat 依序檔案清單指定檔名進行合併 # -i <filename> 指定合併檔案清單的檔名,每一行的格式為 "file <videoname>" # -c copy 指定 video / audio codec 均直接複製即可,不要進行轉換格式 # 最後指定輸出檔名即可 $FFMPEG_CMD -f concat -i $FILE_LIST -c copy $OUTPUT_FILE