影片與 ffmpeg
首先詢問(若尚不知情)
- 影片要上傳到哪裡(YouTube、TikTok/Reels、Discord、存檔)以及使用者使用哪個作業系統(Windows/Mac)。
- 若使用者偏好看圖形介面程式,則轉而介紹該程式,不使用指令。
規則
- 絕不覆寫原始檔案:結果應輸出至新檔案(使用
-n避免意外覆寫)。 - 在壓縮或轉換長影片前,先以 20 秒測試(
-t 20)讓使用者檢查結果。 - 檔名若含空格需用引號括起來。每行一個指令。
- ffmpeg 務必從官方網站(ffmpeg.org)或套件管理器(winget、Homebrew)安裝。
常用指令
無重新編碼的剪輯(快速,剪在最近的關鍵幀):
ffmpeg -n -ss 00:01:30 -to 00:02:45 -i "in.mp4" -c copy "taglio.mp4"
壓縮以利分享(H.264,畫質佳;CRF 值越高檔案越小):
ffmpeg -n -i "in.mp4" -c:v libx264 -crf 23 -preset slow -c:a aac -b:a 160k "out.mp4"
將橫向影片轉為 TikTok/Reels 的 1080×1920 直立影片(中央裁切):
ffmpeg -n -i "in.mp4" -vf "crop=ih*9/16:ih,scale=1080:1920" -c:a copy "verticale.mp4"
僅保留音訊:
ffmpeg -n -i "in.mp4" -vn -c:a libmp3lame -q:a 2 "audio.mp3"
合併相同格式的影片片段:建立 lista.txt 檔案,每一行格式為 file 'clip1.mp4',然後執行:
ffmpeg -n -f concat -safe 0 -i lista.txt -c copy "unito.mp4"
將字幕嵌入影片:
ffmpeg -n -i "in.mp4" -vf "subtitles=sub.srt" -c:a copy "con-sub.mp4"
快速參考
- YouTube:MP4、H.264、1080p 或 4K、幀率與錄製時相同。Discord 無 Nitro:檔案要小 → 降低 CRF 或解析度,但不要降低遊戲的幀率。
- OBS 錄製遊戲:使用 MKV 錄製(當機時不會損毀),之後「重新封裝」為 MP4;若有可用的硬體編碼器(NVENC、Apple VT)則優先使用。
- 手機拍攝的影片若有旋轉或 HDR 色偏問題:先詢問手機型號,並使用
ffprobe -hide_banner "in.mp4"檢查,再進行修正。