(Splitting MP4 Files by Time Using FFmpeg)
●10分(600秒)ごとに動画を分割
>ffmpeg -i input.mp4 -c copy -map 0 -segment_time 600 -f segment output_%03d.mp4
オプションの説明:
-i input.mp4:入力ファイル
-c copy:再エンコードせず高速に処理(画質劣化なし)
-map 0:すべてのストリームを保持
-segment_time 600:600秒(10分)ごとに分割
-f segment:セグメント形式で出力
output_%03d.mp4:出力ファイル名(例:output_000.mp4, output_001.mp4, ...)
次のように、時間範囲を指定して分割することも可能
>ffmpeg -i input.mp4 -ss 00:00:00 -t 00:10:00 -c:v libx264 -c:a aac output1.mp4
●最初から28分38秒を切り出す(0028分38秒を切り出す)
>ffmpeg -i input.mp4 -ss 00:00:00 -t 00:28:38 -c copy output_trimmed.mp4
・正確に「ぴったり00:28:38まで」で切りたい場合は、以下のように、「再エンコードあり」にします
>ffmpeg -i input.mp4 -ss 00:00:00 -t 00:28:38 -c:v libx264 -c:a aac output_trimmed.mp4
-i input.mp4:元の動画ファイル名
-ss 00:00:00:開始位置(今回は最初から)
-t 00:28:38:切り出す長さ(28分38秒)
-c copy:再エンコードせず高速処理(元画質そのまま)
output_trimmed.mp4:出力されるファイル名
-c:v libx264ビデオ(映像)を H.264形式でエンコード(圧縮)する
libx264
FFmpeg が使う H.264 のエンコーダライブラリ
FFmpeg が使う H.264 のエンコーダライブラリ
利点:
高い圧縮率と高画質
高い圧縮率と高画質
-c:a aac
意味:オーディオ(音声)を AAC(Advanced Audio Coding) 形式でエンコードする
aac は FFmpeg に内蔵されている AAC エンコーダ
利点:
MP4で標準的に使われる音声形式
MP3より効率的で高音質(同じビットレートなら)
・再エンコードを行うことで、表のようなメリットがあります
-c copy(速さ)と libx264 / aac(正確さ・互換性)を使い分ける👆
-c copy(速さ)と libx264 / aac(正確さ・互換性)を使い分ける👆
項目 | -c copy 使用時 |
libx264 / aac 使用時 |
---|---|---|
処理速度 | 高速(コピー) | やや遅い(再エンコード) |
精度(時間) | キーフレームに制限される | 正確に指定時間で切り出せる |
ファイル互換性 | 元のコーデックに依存 | 非常に高い(多くのデバイス対応) |