MP4 vs MKV: どちらのコンテナを使うべき?
コンテナが実際にやること(と、やらないこと)
まず、動画コンテナフォーマットが実際に何なのかをはっきりさせておきましょう。コンテナは一種の「ラッパー」です。映像ストリーム、音声ストリーム、字幕、チャプターマーカー、メタデータを1つのファイルにパッケージ化します。重要なのは、コンテナが画質を決定するわけではないということです。同じビットレートでエンコードされた同一のH.264映像を持つ2つのファイル、一つがMP4でもう一つがMKVだった場合、見た目はまったく同じになります。コンテナの役割は、どのような種類のストリームを保存できるか、シークのためにどのようにインデックスを付けるか、そしてどのデバイスやソフトウェアが文句を言わずにファイルを読み込めるかを決めることです。 MP4(MPEG-4 Part 14)は2001年に標準化され、AppleのQuickTimeコンテナをベースにしています。一方、MKV(Matroska Video)は2002年に登場したオープンソースプロジェクトで、より制約の少ないフォーマットを求めた開発者たちによって作られました。どちらのフォーマットも、それ自体が映像を圧縮するわけではありません。その役割はH.264、H.265、AV1、VP9といったコーデックが担っており、これらのコーデックはどちらのコンテナにも問題なく格納できます。 この区別が、終わりのない混乱の原因となっています。人々は本当はコーデックの問題なのに、コンテナを非難することがよくあります。スマートテレビで動画が再生されない場合、その問題はテレビがHEVC (H.265) コーデックを全くサポートしていないことであって、MKVを使ったからではないかもしれません。コーデックの非互換性に対して、再エンコードせずにコンテナを切り替えるのは無意味です。それが解決できるのは、コーデックはサポートしているけれどコンテナでつまずくプレイヤーの問題で、これは思ったより頻繁に起こります。
MP4が優れている点:互換性とストリーミング
MP4の最大の強みはシンプルです。それは互換性です。ほぼユニバーサルなハードウェアとソフトウェアのサポートがあります。iOS、Android、Windows、macOS、ウェブブラウザ、PlayStation、Xbox、Roku、Apple TV、そしてほとんどのスマートテレビといった主要なプラットフォームはすべて、追加のアプリなしでMP4を読み込めます。iPhoneがビデオを録画すると、MP4(またはその近親者であるMOV)として保存されます。YouTube、Vimeo、Instagram、TikTokもすべて、推奨アップロード形式としてMP4を使用しています。 ウェブストリーミングにおいて、MP4には構造上の重要な利点があります。ファイルのインデックスである「moov atom」を先頭に配置する「ファストスタート」(またはプログレッシブダウンロード)と呼ばれる機能をサポートしています。ファストスタートが有効なMP4をCDNにアップロードすると、視聴者はファイル全体がダウンロードされる前に、すぐに視聴を開始できます。FFmpegでは、このためのフラグは `-movflags +faststart` です。ほとんどの動画プラットフォームはこれを自動で行ってくれますが、自分で動画ファイルをホスティングする場合は必須の知識です。 MP4は編集ソフトウェアとの相性も抜群です。Adobe Premiere Pro、Final Cut Pro、DaVinci Resolve、iMovieはすべて、多くの場合トランスコーディングなしでネイティブにMP4を読み込み、書き出すことができます。クライアントに完成した動画を納品する場合、ソーシャルメディアに投稿する場合、あるいは相手の技術的な環境がわからない誰かにファイルを送る場合、MP4は安全でプロフェッショナルなデフォルトの選択肢です。唯一の本当の制限は、格納できるものにうるさいということです。
MKVが優れている点:柔軟性と機能の豊富さ
MKVは、格納できるものにほとんど制限がない、将来を見据えたコンテナとしてゼロから構築されました。1つのMKVファイルに、複数の映像トラック、異なる言語の多数の音声トラック、そしてSRT、ASS、SSA、さらにはBlu-rayの画像ベースのPGS字幕といった様々な形式の複数字幕トラックを含めることができます。また、チャプターマーカー、サムネイルの添付、豊富なメタデータも保持でき、これらすべてのストリーム数に理論上の制限はありません。 この柔軟性により、MKVはホームシアター愛好家やメディアアーカイブ担当者にとって、誰もが認める王様となっています。Blu-rayを丸ごとリッピングしてMKVとして保存すれば、メインのH.264またはH.265映像、TrueHD Atmos音声トラック、バックアップのDTS-HD MAトラック、英語とスペイン語の字幕、そして元のディスクからのチャプターマーカーをバンドルできます。すべてが1つの整頓されたファイルに収まります。これをMP4で試すのは、そもそも無理な話です。MP4は複数の音声トラックのサポートが貧弱で、ASSやPGSのような字幕フォーマットは単純に扱えません。 MKVはまた、FLACやTrueHDのようなロスレス音声コーデックをネイティブにサポートしていますが、MP4はAACやAC-3を中心に構築されています。PlexやJellyfinでメディアサーバーを運営しているなら、MKVを使うべきです。バラバラで同期がずれた`.srt`ファイルと格闘したことがある人なら誰でも、完璧に同期された字幕がMKVファイルに直接埋め込まれていることの素晴らしさがわかるでしょう。特にJellyfinは、MP4とペアになった外部ファイルよりも、MKVの埋め込みストリームをはるかにスマートに扱います。
コーデックの互換性:各コンテナが実際にサポートするもの
どちらのコンテナも、最も一般的な映像コーデックであるH.264、H.265/HEVC、AV1、VP9を扱うことができます。本当の違いは詳細にあります。 映像面では、MP4はH.264とH.265を公式にしっかりサポートしており、AV1のサポートはISOBMFF仕様を通じて追加されました。MP4内のVP9は技術的には可能ですが、稀でサポートも不十分です。一方、MKVは管理する企業団体がないオープンスタンダードであるため、新しいコーデックへの対応が早く、最新のAV1から古いDivX/Xvidストリームまで、あらゆるものに対応する傾向があります。 音声に関しては、その差はかなり広がります。MP4はネイティブにAAC、AC-3、E-AC-3、MP3、そしてApple Lossless (ALAC)をサポートしています。FLAC、TrueHD、DTS-HD MAはサポートしていません。一方、MKVはそれらすべてに加え、Opus、Vorbis、その他世の中にあるほとんどすべての音声コーデックをサポートします。もしFFmpegでFLAC音声トラックをMP4コンテナに無理やり入れようとすると、コマンドは失敗するか、最悪の場合、どのプレイヤーも読めないファイルができてしまいます。 そして字幕です。MP4のサポートは基本的なテキスト形式であるMOV_TEXT (TX3G)に限定されています。アニメのファンサブで人気のスタイル付きASS/SSA形式や、Blu-rayで使われるPGS画像字幕には全く対応していません。MKVはそれらすべてをサポートします。もしあなたの動画がカスタムフォントや位置指定を持つスタイル付き字幕に依存している場合、それをMP4に入れることは、字幕を映像に永久に焼き込むか、すべてのスタイルを失うかのどちらかを意味します。
2つのコンテナ間の変換:何が変わり、何が変わらないのか
多くの場合、MKVからMP4への変換(またはその逆)は、完全な再エンコードを必要としません。代わりに「リマックス」を行うことができます。これは既存の映像と音声ストリームを新しいコンテナに再パッケージ化するだけです。このプロセスは信じられないほど速く、しばしばリアルタイムで行われ、画質の劣化は一切ありません。CocoConvertは、H.264やH.265映像とAACやAC-3音声のような一般的な組み合わせに対してこの種のリマックスを行い、MKVとMP4の間をシームレスに切り替えることができます。 しかし、直接のリマックスが常に可能とは限りません。MKVファイルにFLAC音声が含まれていて、MP4が必要な場合、音声はトランスコード、通常はAACに変換する必要があります。ステレオなら192kbps、もう少し余裕を持たせたいなら256kbpsが良い選択です。CocoConvertはこの音声トランスコードを自動的に行いますが、音声が変更されていることは認識しておくべきです。FLACはロスレスですが、AACはそうではありません。ほとんどの人の耳にはその違いは無視できるレベルですが、ソース素材をアーカイブするなら、必ず元のMKVを保管しておきましょう。 字幕は別の複雑さをもたらします。MKVがPGSやASS字幕を使用している場合、MP4に変換すると、それらのトラックは削除されるか、映像に焼き込む必要があります。CocoConvertは変換中にSRTやASS字幕を映像フレームに焼き込むことができますが、複雑なOCR処理が必要なPGS(ビットマップ)字幕の焼き込みには対応していません。そのためにはデスクトップツールが必要になります。また、MKVからMP4への変換では複数の音声トラックも1つのトラックにまとめられるので、残したい言語を必ず選択してください。 逆方向、つまりMP4からMKVへの変換は、MKVがMP4のすべてとそれ以上のものを含めることができるため、ほとんど常にシンプルでロスレスなリマックスになります。
ユースケース別の実践的な推奨事項
適切なコンテナは、そのファイルを何に使うかによって完全に決まります。 ソーシャルメディアや動画プラットフォームへのアップロードには、MP4が答えです。YouTube自身のガイドラインでも、H.264映像とAAC音声のMP4を明確に推奨しています。InstagramやTikTokが期待するのもこの形式です。MKVをYouTubeにアップロードすることもできますが、プラットフォーム側で結局変換されるため、失敗する可能性が一つ増えるだけです。 デバイスを管理できない相手と共有する場合は、MP4を使いましょう。ご両親に家族のビデオを送って、iPadやSamsungのテレビで見てもらう場合、適切なビットレート(1080pなら8Mbps程度)のH.264映像が入ったMP4なら、事実上何でも再生できます。MKVを送ってしまうと、VLCをインストールしてもらうためのサポート電話が必要になるかもしれません。 PlexやJellyfinのようなホームメディアサーバーには、特に複数の音声や字幕トラックを持つファイルの場合、MKVが優れた選択肢です。どちらのサーバーもMKVを美しく扱い、埋め込み字幕は外部の.srtファイルを管理する頭痛の種をなくしてくれます。 Blu-rayやDVDのリッピングをアーカイブするなら、MKVがコミュニティの標準であるのには理由があります。複数の音声トラック、チャプター情報、ロスレス音声を妥協なく保存します。 ビデオ編集ワークフローでは、一般的にMP4が最も抵抗の少ない道であり、すべての主要なNLEにスムーズにインポートできます。DaVinci Resolveのようないくつかの編集ソフトはMKVをうまく扱いますが、互換性のためにはMP4の方が安全な選択です。 古いデバイスや組み込みデバイス(カーステレオ、古いスマートテレビ、安価なAndroidボックスなど)には、H.264のMP4が最も安全な選択肢です。MKVコンテナに入ったH.265ファイルは、2015年製のスマートテレビでは賭けになります。MP4コンテナに入ったH.264ビデオなら?ほぼ間違いなく、ただ再生できるでしょう。
要するに:判断のフレームワーク
では、どちらのコンテナが良いのでしょうか?本当の答えは、次の3つの質問に対するあなたの答えにかかっています。「そのファイルはどこで再生されるのか?」「どのストリームを含める必要があるのか?」「そして、元の品質を完璧に保存することが不可欠か?」 もしファイルが、視聴者にとって全く摩擦なく、最も広範囲のデバイスで再生されなければならないなら、MP4の圧勝です。もしファイルが、複数の音声トラック、スタイル付き字幕、ロスレス音声、チャプターマーカーを保持する必要があるなら、MKVが唯一の選択肢となります。一つのストリームも失うわけにはいかないソース素材をアーカイブするなら、MKVの方がすべてを無傷で保持できる可能性が高いです。 ほとんどの変換で、CocoConvertは映像を再エンコードすることなく、あなたのファイルをあるコンテナから別のコンテナへリマックスできます。これは高速で画質の劣化がないことを意味します。私たちはまた、その限界についても率直にお伝えします。(PGS字幕やTrueHD音声からMP4への変換など)クリーンな変換が不可能なケースでは、HandbrakeやFFmpegのようなデスクトップソフトウェアが必要です。変換に失敗してから気づくより、私たちが直接それをお伝えする方が良いと考えています。 もし動画ファイルの中身がわからなくなった時は、ぜひMediaInfoをダウンロードしてみてください。これはWindowsとmacOS用の無料ツールで、ファイルの詳細(コーデック、ビットレート、音声チャンネル、字幕フォーマットなど、すべて)を数秒で完全に表示してくれます。これがあれば、MP4かMKVかの判断で当てずっぽうに悩む必要がなくなります。