コンテンツへスキップ

コンテナとコーデック、そして変換速度が大きく違う理由

同じ「MP4に変換」でも、3秒で終わることもあれば40分かかることもあり、何も失われないこともあれば目に見えて1世代分画質が落ちることもあります。その両方を説明し、これから起こるのがどちらかを予測できるようにしてくれる違いが1つあります。

最終確認日:

2つの違い

コンテナは箱です。MP4、MKV、MOV、WebM、AVIはコンテナで、ファイル内での各要素の並べ方、プレーヤーがそれぞれの先頭を見つける方法、タイムスタンプの記録方法、そして字幕トラック、チャプター、複数の言語、カバーアートといった追加要素に何が許されるかを定めています。

コーデックは、中にある映像と音声の圧縮方法です。映像ならH.264、H.265、VP9、AV1、音声ならAAC、MP3、Opus、Vorbis、AC-3がそれにあたります。

ファイルの拡張子が示しているのはコンテナだけで、混乱のほぼすべてはここから生まれます。2つの.mkvファイルの中身がまったく別物ということもあり、同じH.264映像を収めた.mp4と.mkvは、肝心なレベルでは同じ動画が別の箱に入っているだけです。拡張子を見ても、変換がどれだけ大変かはほとんど分かりません。

リマックスかトランスコードか:問題はこれだけ

動画を変換するとき、起こることはまったく異なる2つのうちのどちらかです。

リマックスは、既存の圧縮済みストリームをデコードせずに新しいコンテナへ移します。再圧縮はしないので、映像はビット単位で元のままで、ファイルサイズもほぼ同じ、2時間の映画でも数秒で終わります。中のコーデックが変換先のコンテナで使えるものであれば、いつでもこの方法が使えます。

トランスコードは、すべてのフレームをデコードしてからエンコードし直します。動画の長さに比例して時間がかかり、画質も1世代分落ちます。新しいエンコーダーは古いエンコーダーが生んだノイズと本物の細部を区別できないため、それを保存するためにビットを使ってしまうのです。コーデックが変換先と互換性がない場合は避けられません。

変換がほとんど一瞬で終わったなら、それは良い結果です。速すぎたせいで何か問題が起きたと思う人がときどきいますが、実際はその逆です。

どの変換がどちらになるか

**MKV MP4変換:たいていはリマックス。**ほとんどのMKVにはH.264とAACが入っていて、これはまさにMP4に適した組み合わせです。数秒で終わり、何も失われません。

**MOV MP4変換:たいていはリマックスで、変換と呼ぶほどのこともありません。**MP4の規格はQuickTimeのファイル形式をもとに作られたので、内部構造が同じなのです。iPhoneの.movにはH.264かH.265が入っていて、そのまま移せます。例外はProResやDNxHDといったプロ用の映像素材で、これはトランスコードが必要になり、サイズが大幅に小さくなります。

**WebM MP4変換:常にトランスコード。WebMにはVP8、VP9、AV1とVorbisまたはOpusが入っていて、どれもMP4に入れて確実に再生できる形にはなりません。実時間程度はかかると考え、ファイルは大きくなる**と考えてください。新しいコーデックのほうがH.264より効率が良いからです。

**AVI MP4変換:常にトランスコード。AVIは1992年の形式で、中身はDivX、Xvid、またはMotion JPEGです。この場合はたいていファイルが小さくなります**。H.264は中身のコーデックのおよそ2倍効率が良いからで、1世代分の劣化と引き換えに得られる本当の利点です。

あるコンテナには入り、別のコンテナには入らないもの

変換で失われるもののもう半分がこれで、画質とはまったく関係ありません。MKVは一般に使われるコンテナの中で最も収容力があり、言語ごとの複数の音声トラック、いくつもの字幕トラック、チャプターマーカー、カバーアート、さらにはスタイル付き字幕の表示に必要なフォントファイルまで収められます。一方MP4は、実際には映像トラック1本と音声トラック1本なら問題なく扱えますが、それ以外は苦手です。

そのため、MKVをMP4に変換すると、たいていはそれぞれ最初のトラックだけが残り、それ以外は置き去りになります。映画が違う言語になってしまったり、そのために変換したはずの字幕がなくなったりするのはこのためです。特に字幕は引き継がれません。SRTや、ファンサブで使われるスタイル付きのASS形式は、MP4にきちんと収める場所がありません。先に取り出して、動画の横に別の.srtファイルとして置いておきましょう。どのプレーヤーやテレビでも読み込めます。

MOVには、編集ソフトがテイクを同期するのに使うタイムコードやカメラのメタデータが入っていますが、これらも引き継がれません。また、ProResは透過用のアルファチャンネルを持てますが、MP4のH.264は持てません。そのため、タイトルやロゴのクリップは、透過だった部分が黒い背景になった、まったく正常な動画として変換されます。自分の目で見る以外に、それを知らせてくれるものはありません。

実際にどうすればよいか

そもそも変換が必要かどうかを確認しましょう。VLC、MPV、そして最近のスマートテレビの多くは、MKVやWebMをそのまま再生できます。プレーヤーがすでに対応しているファイルを変換しても、時間とサイズと画質を無駄にするだけです。本当に変換が必要なのは、Apple製品、古いゲーム機、その形式を受け付けない動画編集ソフト、あるいはメッセージアプリで使う場合です。

カットにも同じ考え方が使えます。動画カットでは、再エンコードせずにエンコード済みの映像をコピーでき、一瞬でロスレスに処理できます。ただし、カット位置はキーフレームに合わせる必要があり、キーフレームは1〜10秒おきにしかありません。コピーでカットすると少し早めから始まり、正確にカットすると時間がかかって画質も落ちるのはこのためです。正確なカットでは、選んだフレームに合わせるために冒頭部分を再エンコードしているのです。

トランスコードが避けられないなら、一度だけ、きちんと行いましょう。再エンコードによる劣化は元に戻せないので、手元にある最良の元ファイルから、2世代目の劣化が目に見えない画質設定で変換し、結果を確認するまで元ファイルは残しておきましょう。

よくある質問

ファイルの中のコーデックを確認するには?

VLCなら「ツール」の「コーデック情報」で確認でき、MediaInfoはそれだけを行う無料ツールです。長い変換の前に確認する価値があります。コーデックがすでにMP4に対応しているなら、数秒で済むことに1時間かけようとしているのかもしれません。

MKVはMP4より優れていますか?

コンテナとしては優れています。より多くのものを収められ、制約も少ないからです。互換性ではMP4が勝ち、たいていはそれが変換する理由です。どちらも画質にはまったく影響しません。画質は完全にコーデックとその設定で決まります。

WebMをMP4にしたらサイズが大きくなったのはなぜですか?

VP9やAV1はH.264より効率が良く、それを手放せば節約できていた分がそのまま戻ってくるからです。得ているのはサイズではなく互換性です。MP4はほぼどこでも再生できますが、WebMはそうではありません。

画質を落とさずに変換できますか?

はい、コーデックがリマックスに対応していればできます。MKVからMP4、MOVからMP4はたいてい対応しています。トランスコードが避けられない場合でも、高画質の設定にすれば劣化は事実上見えなくなりますが、厳密にゼロになることはありません。

拡張子を変えるだけでうまくいくことがあるのはなぜですか?

中身のコンテナが本当に同じ場合がたまにあるからです。たとえば.f4vは、名前が違うだけのMP4です。それ以外ではうまくいかず、名前を変えて開けなくなったファイルは、きちんと拒否されたファイルよりもかえって分かりにくくなります。試すのは構いませんが、当てにはしないでください。