第一部分 · ffmpeg 是什麼 第二部分 · 安裝 ffmpeg 第三部分 · 四種剪輯操作 第四部分 · 進階:拼接與混音 第五部分 · 實戰:受難日崇拜 第六部分 · FAQ
視頻剪輯 · 教會活動 · Claude 自動化

ffmpeg 視頻剪輯,小白也能懂

從安裝到剪輯、拼接、混音,完整流程一次搞懂
以受難日崇拜影片製作為實戰案例

第一部分 ffmpeg 是什麼?
🎬
核心工具
ffmpeg
免費開源的「全能影音處理工具」。可以剪輯、轉檔、拼接、加字幕、混音……幾乎所有影音操作都能做,全靠在終端機打指令完成。
影片界的瑞士軍刀,一個工具解決所有問題。
🔍
偵查工具
ffprobe
ffmpeg 的「偵探」夥伴。用來查看影片的詳細資訊:解析度、時長、格式、編碼等,不需要打開播放器就能知道一切。
醫院的 X 光機,不需要動手術就能看清楚裡面是什麼。
🎞️
核心概念
串流複製 Stream Copy
剪輯時「直接複製」影像和聲音,不重新壓縮。速度極快,畫質完全無損。
缺點:只能在關鍵幀位置精確剪切。
影印文件,不改內容直接複製,速度快但不能改格式。
🔄
核心概念
重新編碼 Re-encode
把影片重新壓縮輸出。速度較慢,但可以精確剪到任意位置,且多段拼接時才能無縫銜接。
手工重新抄寫文件,慢但可以隨意修改任何位置。
📝
核心概念
Concat(拼接)
把多個影片片段「首尾相連」合成一個文件。需要先建立一個文字清單(.txt),列出所有片段的路徑,再讓 ffmpeg 依序拼接。
把幾段剪好的膠卷用膠帶黏在一起,依序播放。
第二部分 安裝 ffmpeg(Windows)
1
用 winget 一鍵安裝(最簡單)
打開終端機(PowerShell 或 bash),直接執行:
winget install Gyan.FFmpeg --silent
安裝完成後,ffmpeg、ffprobe、ffplay 全部可用。
2
確認安裝成功
ffmpeg -version
看到版本號就代表成功,例如 ffmpeg version 8.1
3
查看影片資訊(用 ffprobe)
ffprobe -v quiet -show_streams -select_streams v:0 "影片.mp4"
可以看到解析度(width/height)、時長(duration)、編碼(codec_name)
第三部分 四種核心剪輯操作
A
截取片段(最常用)
從影片的某個時間點截取到另一個時間點。
# 格式:-ss 開始時間 -to 結束時間 ffmpeg -ss 01:35:23 -to 01:42:13 -i "電影.mp4" -c copy "輸出.mp4" -y
-ss = 開始時間(seek start)
-to = 結束時間
-c copy = 串流複製(不重新編碼,超快)
-y = 自動覆蓋已有文件,不詢問
B
高質量重新編碼(拼接前必用)
截取時同時重新壓縮,確保後續拼接無縫。
ffmpeg -ss 00:53:28 -to 00:58:19 -i "電影.mp4" \ -c:v libx264 -preset fast -crf 18 \ -c:a aac -b:a 192k \ "片段A.mp4" -y
libx264 = H.264 視頻編碼(最通用)
-preset fast = 速度與壓縮率的平衡
-crf 18 = 質量(0最好,51最差,18≈視覺無損)
aac -b:a 192k = 高質量音頻
C
多段拼接(Concat)
把多個片段按順序合成一個文件。
# 第一步:建立清單文件(用絕對路徑) printf "file 'D:/tmp/片段A.mp4'\nfile 'D:/tmp/片段B.mp4'\n" > list.txt # 第二步:拼接 ffmpeg -f concat -safe 0 -i list.txt -c copy "合併輸出.mp4" -y
⚠️ 拼接前的各片段必須用相同編碼格式(上一步重新編碼的原因)
-safe 0 = 允許使用絕對路徑
D
加背景音樂(混音)
在保留原聲的同時,疊加一層背景輕音樂。
ffmpeg -i "視頻.mp4" -ss 0 -i "音樂.mp3" \ -filter_complex "[0:a][1:a]amix=inputs=2:duration=first:weights=1 0.35[aout]" \ -map 0:v -map "[aout]" \ -c:v copy -c:a aac -b:a 192k \ "輸出_含音樂.mp4" -y
weights=1 0.35 = 原聲100%,背景音樂35%
duration=first = 音樂自動截到視頻結束
想音樂更輕:把 0.35 改小(如 0.2);更響:改大(如 0.5
第四部分 進階:何時用 Stream Copy vs 重新編碼?
情境 建議方式 原因
截取一段獨立片段 ✅ Stream Copy(-c copy 快、無損,獨立播放不需要精確到幀
截取後要跟別的片段拼接 ⚠️ 重新編碼 確保各段參數一致,拼接後不出現黑幀或音畫不同步
有內部刪減(從中間挖掉幾秒) ⚠️ 重新編碼 Stream Copy 只能在關鍵幀切割,精度不足,需要逐段編碼再拼接
加背景音樂 ⚠️ 音頻重新編碼(視頻可複製) 混音必須重新處理音頻流,視頻部分用 -c:v copy 可節省時間
第五部分 實戰案例:受難日崇拜影片製作
📋 任務背景
電影:《耶穌受難記》(國語版,720p,約2小時6分)
任務:按崇拜程序稿要求剪出 7個片段(3個程序稿用、1個合併、3個獨立)
特殊要求:部分片段含內部刪減、部分需要加背景輕音樂
1
先查影片資訊
ffprobe -v quiet -show_entries format=duration -of csv=p=0 "電影.mp4" # 輸出:7590.916667(秒)→ 約 2小時6分30秒
2
含內部刪減的第三幕(最複雜)
保留 1:35:23→1:42:13,但中間挖掉兩段:✂️ 1:36:17-1:36:45 和 1:37:06-1:37:28
# 把保留的三段各自截取(重新編碼) ffmpeg -ss 01:35:23 -to 01:36:17 -i "電影.mp4" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 192k -y tmp_a.mp4 ffmpeg -ss 01:36:45 -to 01:37:06 -i "電影.mp4" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 192k -y tmp_b.mp4 ffmpeg -ss 01:37:28 -to 01:42:13 -i "電影.mp4" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 192k -y tmp_c.mp4 # 建立清單再拼接 printf "file 'D:/tmp/tmp_a.mp4'\nfile 'D:/tmp/tmp_b.mp4'\nfile 'D:/tmp/tmp_c.mp4'\n" > list.txt ffmpeg -f concat -safe 0 -i list.txt -c copy -y "第三幕(有刪減).mp4" # 清理臨時文件 rm tmp_a.mp4 tmp_b.mp4 tmp_c.mp4 list.txt
3
加背景音樂的片段
# 先查視頻時長(決定音樂截取多長) ffprobe -v quiet -show_entries format=duration -of csv=p=0 "第四幕.mp4" # 189秒(3分09秒) # 混入背景音樂(從音樂 0:00 開始,自動截到視頻結束) ffmpeg -i "第四幕.mp4" -ss 0 -i "晨禱音樂.mp3" \ -filter_complex "[0:a][1:a]amix=inputs=2:duration=first:weights=1 0.35[aout]" \ -map 0:v -map "[aout]" -c:v copy -c:a aac -b:a 192k \ "第四幕(含背景音樂).mp4" -y
4
整理輸出文件夾
# 建立文件夾結構 mkdir -p 完成版/ 初稿_待加音乐/ # 完成版(直接使用) mv 第三幕(有刪減).mp4 完成版/ mv 第四幕(含背景音樂).mp4 完成版/ mv 第五幕_地震(含背景).mp4 完成版/ mv 合併_鞭打+戲弄+交出.mp4 完成版/ mv 被釘的聲音.mp4 完成版/ mv 與犯人掛十架.mp4 完成版/ mv 地大震動.mp4 完成版/ # 初稿(備份) mv 第四幕(待加音樂).mp4 初稿_待加音乐/
第六部分 常見疑問 FAQ
-ss 要放在 -i 前面還是後面?
放在 -i 前面(-ss 00:10:00 -i 文件.mp4)速度更快,ffmpeg 直接跳到該位置。放後面更精確但較慢。簡單截取用前面,精確剪輯用後面。
拼接後出現黑幀或不流暢怎麼辦?
通常是因為各段編碼參數不一致。解決:重新編碼所有片段(用相同的 -c:v libx264 -crf 18 -c:a aac),確保參數統一後再拼接。
-crf 數值怎麼選?
CRF(Constant Rate Factor)控制畫質:數值越小畫質越好但文件越大。18 = 視覺無損(推薦),23 = 標準質量,28 = 可接受(文件小)。
背景音樂音量怎麼調整?
weights=1 0.35 中,第一個數字是原聲音量,第二個是背景音樂音量。想音樂更輕:改 0.2;更響:改 0.5。可以多試幾次找到合適的比例。
剪輯很慢,怎麼加速?
-preset fast(或 ultrafast)可以大幅加快編碼速度,代價是文件稍大。對於教會活動影片,fast 是性價比最高的選擇。
-y 是什麼意思?
-y = yes,自動確認覆蓋輸出文件,不等用戶輸入。批量處理時必加,否則 ffmpeg 會停下來等你確認每一個文件。