AI 摘要 在 Linux 使用 ffmpeg 剪片,最快的方法是直接複製原始碼。這樣不用重新編碼,速度超快。輸入以下指令,從第 1 分鐘開始剪下 30 秒:
ffmpeg -ss 00:01:00 -i input.mp4 -t 00:00:30 -c copy output.mp4
指令拆解說明:
-ss:指定開始時間 (Start)。
-i:指定輸入檔名 (Input)。
-t:指定要剪輯的長度 (Duration)。
-c copy:直接複製,不重新編碼。
output.mp4:輸出檔名
至於如何檢查減出來的檔案的解析度是否維持原樣? 可以使用 mediainfo 指令,請見
FFmpeg剪裁(trim)影片指令 - AndyWu's Notes
兩種用法
給定 [起始時間] 與 [結束時間] 擷取
ffmpeg -i input.mp4 -ss 01:19:27 -to 01:30:51 -c:v copy -c:a copy output.mp4----阿原會先嘗試這個(後來測試,很順利,小影片一秒就完成)
給定 [起始時間] 與 [持續時間] 擷取
ffmpeg -i input.mp4 -ss 00:01:10 -t 00:01:05 -c:v copy -c:a copy output.mp4
阿原簡化指令:
ffmpeg -i 333.mp4 -ss 00:00:xx -to 00:00:yy -c:v copy -c:a copy 444.mp4
發現,例如影片長度是 39 秒,此時把 yy 設成 42 sec or 45 秒,結果相同。為何要這樣?因為影片長度可能是 39.53 秒,我想,如果設成 42 秒,會不會在 39.53 秒到 42 秒之間出現空白,實測後是不會。