如何使用 FFmpeg 剪切視頻:時間戳、時長、分割(2026 指南)
學習如何使用 FFmpeg 以精確的時間戳和時長控制來剪切、裁剪和分割視頻。包含快速複製模式、重新編碼以及免費的一鍵替代方案。
需要從長影片中擷取30秒的片段?刪除錄影的前10秒?將影片分割成多個部分?FFmpeg 可以透過命令列完成所有這些操作——只要你知道正確的參數。
本指南涵蓋所有剪輯情境及精確的命令。如果你更想直接拖拉滑桿操作,文末還有一個免費的視覺化替代方案。
前置準備:安裝 FFmpeg

macOS:
brew install ffmpeg
Ubuntu/Debian:
sudo apt update && sudo apt install ffmpeg
Windows:
從 ffmpeg.org 下載,解壓縮後將 bin 資料夾加入 PATH。
基本剪輯
依起始時間與持續時長剪輯
從第1分鐘開始擷取30秒:
ffmpeg -i input.mp4 -ss 00:01:00 -t 00:00:30 -c copy output.mp4
-ss 00:01:00— 從第1分鐘開始-t 00:00:30— 持續時長30秒-c copy— 直接複製串流,不重新編碼(速度快)
依起始與結束時間剪輯
擷取 1:00 到 2:30 的片段:
ffmpeg -i input.mp4 -ss 00:01:00 -to 00:02:30 -c copy output.mp4
-to 00:02:30— 在2分30秒處停止
剪取前 N 秒
只保留前60秒:
ffmpeg -i input.mp4 -t 60 -c copy output.mp4
移除前 N 秒
跳過前10秒:
ffmpeg -i input.mp4 -ss 10 -c copy output.mp4
剪去最後 N 秒
這需要知道影片的總時長。對於一個5分鐘的影片,若要移除最後30秒:
ffmpeg -i input.mp4 -t 00:04:30 -c copy output.mp4
快速複製 vs 重新編碼
快速模式(-c copy)
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy output.mp4
優點: 速度極快,不損失品質 缺點: 起始點可能偏差幾秒(會對齊最近的關鍵幀)
精確模式(重新編碼)
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c:v libx264 -c:a aac output.mp4
優點: 可精確到幀的剪輯 缺點: 速度較慢,重新編碼會造成些微品質損失
兩者兼顧:輸入端定位 + 輸出端重新編碼
ffmpeg -ss 00:00:58 -i input.mp4 -ss 2 -t 30 -c:v libx264 -c:a aac output.mp4
此方式在解碼前先定位到0:58(速度快),再精確地往後裁切2秒,以精確到達1:00的位置。
將影片分割成多個部分
分割成等長片段
將10分鐘的影片分割成2分鐘的片段:
ffmpeg -i input.mp4 -c copy -map 0 -segment_time 120 -f segment -reset_timestamps 1 segment_%03d.mp4
這將產生 segment_000.mp4、segment_001.mp4 等檔案。
依指定時間點分割
# 第1段:0:00 到 2:00
ffmpeg -i input.mp4 -ss 0 -to 00:02:00 -c copy part1.mp4
# 第2段:2:00 到 5:00
ffmpeg -i input.mp4 -ss 00:02:00 -to 00:05:00 -c copy part2.mp4
# 第3段:5:00 到結尾
ffmpeg -i input.mp4 -ss 00:05:00 -c copy part3.mp4
擷取與移除音訊
僅擷取音軌
ffmpeg -i input.mp4 -vn -c:a copy audio.m4a
-vn— 不含視訊
擷取為 MP3
ffmpeg -i input.mp4 -vn -c:a libmp3lame -b:a 320k audio.mp3
移除音訊(僅保留視訊)
ffmpeg -i input.mp4 -an -c:v copy output_silent.mp4
-an— 不含音訊
常見錯誤與解決方式
剪輯後的影片開頭出現靜止畫面或畫面異常
這是使用 -c copy 時,剪切點不在關鍵幀上所導致的。解決方式是重新編碼:
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c:v libx264 -c:a aac output.mp4
剪輯後音視訊不同步
加入 -avoid_negative_ts make_zero:
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy -avoid_negative_ts make_zero output.mp4
出現「Non-monotonous DTS」警告
這通常不影響輸出結果,但表示時間戳記有問題。若輸出檔案損毀,請嘗試:
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -fflags +genpts -c copy output.mp4
剪輯位置偏差數秒
將 -ss 放在 -i 之前可加快定位速度,放在 -i 之後則更精確:
# 較快但精確度較低(在輸入端定位)
ffmpeg -ss 00:01:00 -i input.mp4 -t 30 -c copy output.mp4
# 較慢但精確到幀(解碼後再定位)
ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c:v libx264 -c:a aac output.mp4
跳過終端機:改用 WaveSpeed Desktop
使用 FFmpeg 進行精確的影片剪輯,意味著你需要應對時間戳記格式、關鍵幀對齊、複製模式與重新編碼的選擇,以及同步問題。對大多數人來說,這遠比實際需要的複雜。
WaveSpeed Desktop 內建媒體剪輯工具,提供視覺化時間軸:
- 拖放你的影片
- 使用視覺化滑桿設定起始與結束點
- 點擊剪輯——完成
無需計算時間戳記。無需煩惱關鍵幀。不用開終端機。

免費下載 WaveSpeed Desktop: https://github.com/WaveSpeedAI/wavespeed-desktop/releases
常見問題
-t 與 -to 有什麼差別?
-t 指定持續時長(例如 -t 30 表示30秒)。-to 指定結束時間戳記(例如 -to 00:02:30 表示在2:30停止)。
我可以在不損失品質的情況下剪輯嗎?
可以——使用 -c copy 即可避免重新編碼。代價是剪切點可能不精確到幀(會對齊最近的關鍵幀)。
如何找出影片的確切時長?
ffprobe -v error -show_entries format=duration -of csv=p=0 input.mp4
我可以同時剪輯多個檔案嗎? 無法在單一命令中完成。你需要使用 shell 迴圈處理每個檔案。WaveSpeed Desktop 支援拖放式批次剪輯。



