🎬 FFmpeg個人リファレンス

コンテナ

コンテナ(container)は、映像・音声・字幕などのトラックを1つにまとめる「入れ物」です。 ファイルの拡張子(.mp4 / .mkv など)がコンテナにあたります。 中身のコーデックとは別の話である、というのが最重要ポイントです。

代表的なコンテナ

拡張子名称特徴
.mp4MP4互換性最強。配布・SNSの定番
.movQuickTimeApple系・編集向け。MP4と近い
.mkvMatroska何でも入る。多音声・多字幕に強い
.webmWebMWeb向け。VP9/AV1+Opus
.m4aMPEG-4 Audio音声専用(中身はAACなど)
メモ
「コンテナ=入れ物」「コーデック=圧縮方式」。同じMP4でも中身のコーデックは違うことがあります。詳しくはコーデックへ。

今のコンテナを調べる

ffprobe -v error -show_entries format=format_name,duration -of default=nw=1 input.mp4

コンテナだけ変える(リマックス)

コンテナが対応しているコーデックなら、再エンコードせず入れ替えるだけで変換できます。無劣化・一瞬で終わります。

# 再エンコードせずコンテナだけ変更(リマックス・無劣化・高速)
ffmpeg -i input.mkv -c copy output.mp4

変換例

# MP4 → MOV
ffmpeg -i input.mp4 -c copy output.mov

# MP4 → WebM(コーデック非対応のため再エンコードが必要)
ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm
注意
変換先のコンテナが中身のコーデックに対応していないと -c copy は失敗します。その場合はコーデックを変換する必要があります(例: MP4→WebM)。

関連: コーデック / 入出力