Skip to content
Back to Blog
how-to-convert

MKVをMP4に変換する方法(可能な限り再エンコードなしで)

2026-05-17 9 min read

MKVとMP4の本当の違いとは

まず、はっきりさせておきたいのですが、MKV(Matroska Video)とMP4はどちらも単なる「コンテナフォーマット」です。zipファイルのように、映像ストリーム、音声ストリーム、字幕、チャプターマーカーを格納するためのデジタルな「箱」だと考えてみてください。その箱の中に入っている映像や音声データは、多くの場合まったく同じものです。オンラインで見かける一般的なMKVファイルには、おそらくH.264かH.265の映像と、AACかAC3の音声が含まれています。では、標準的なMP4ファイルが何を使っているかご存知ですか?まさにそれらと全く同じコーデックです。 だからこそ、「MKVをMP4に変換する」という言葉は、しばしば誤解を招きます。多くのファイルでは、実際には何も「変換」していません。「リマックス(remuxing)」しているだけなのです。リマックスとは、MKVコンテナからストリームを取り出し、実際のエンコードされたデータには一切触れずに、新しいMP4コンテナに入れる処理のことです。これは、画質がビット単位で完全に同一であり、処理が非常に高速であることを意味します。CPUが何ギガバイトもの映像を再エンコードする必要がないため、数分ではなく数秒で完了します。 もちろん、いつもそんなに単純なわけではありません。MKVにTrueHD、DTS-HD MA、FLACといった、MP4がネイティブでサポートしていない形式の音声が含まれている場合、処理は複雑になります。このような状況では、音声トラックを再エンコードする必要があり、通常は互換性の高いAACやAC3形式に変換されます。映像ストリーム自体は、音声だけをトランスコードしながら、ロスレスでリマックスすることが可能です。時間のかかる完全な映像の再エンコードが必要になるのは、映像コーデック自体に互換性がないという稀なケースだけです。

変換前にMKVファイルを確認する

何も考えずにいきなり変換を始めるのはやめましょう。まず30秒かけて、MKVファイルの中身がどうなっているかを確認してください。この確認作業によって、どのような変換が必要なのかが正確に分かり、無駄な試行錯誤を避けることができます。 Windowsでファイルを右クリックして「プロパティ」を見ても、再生時間やファイルサイズといった基本的な情報は分かりますが、肝心なコーデックの詳細は分かりません。そのためには、適切なツールが必要です。私のおすすめはMediaInfoです(無料でオープンソースです)。MKVファイルをMediaInfoで開き、表示を「Tree」ビューに切り替えてみてください。すると、次のような分かりやすい内訳が表示されます: Video — Format: AVC (H.264), Profile: High@L4.1, Bit rate: 8 500 kb/s。Audio — Format: AC-3, Channels: 6, Bit rate: 640 kb/s。 この例は、高速なリマックスに最適なケースです。H.264映像もAC3音声も、再エンコードなしでMP4コンテナに入れることができます。対照的に、Audio — Format: MLP FBA (TrueHD), Channels: 8 と表示されるファイルの場合はどうでしょう。MP4コンテナはTrueHDをサポートしていないため、音声トラックのトランスコードが必要だとすぐに分かります。 また、字幕にも注意を払いましょう。MKVは柔軟性が高く、画像ベースの字幕(PGS/VOBSUB)とテキストベースの字幕(ASS/SRT)の両方をサポートしています。しかし、MP4のサポートはもっと限定的です(TX3G/SRT)。もしMKVがPGS字幕を使用している場合、それらをMP4コンテナに持ち越すことはできません。字幕は削除されるか、あるいは映像に完全に焼き付ける(ハードコードする)必要があり、そのためには完全な再エンコードが必要になります。このことを事前に知っておけば、20分もかけて変換した後にがっかりする、なんて事態を防げます。

手軽なブラウザベースの変換ならCocoConvert

もしお持ちのMKVがH.264/H.265映像とAAC/AC3音声で構成された標準的なファイルなら、CocoConvertの[MKVからMP4へのコンバーター](/convert/mkv-to-mp4)が最も簡単な方法です。ファイルをアップロードし、出力形式としてMP4を選ぶだけ。このサービスはストリームに互換性があることを賢く検出し、時間のかかるトランスコードの代わりに高速なリマックスを実行してくれます。4GBのファイルでも、主にアップロード速度に左右されますが、1分もかからずに準備ができます。 ファイルに互換性のない音声(FLAC、DTS、TrueHDなど)が含まれている場合でも、CocoConvertはうまく処理してくれます。映像ストリームには手を付けず、音声トラックだけを互換性のあるAAC形式(通常、ステレオなら192kb/s、5.1サラウンドなら384kb/s)に自動で再エンコードします。これらはスマートTVから動画共有プラットフォームまで、ほとんどすべての再生環境で通用する堅実なデフォルト設定です。 ただし、いくつか現実的な制限はあります。CocoConvertの無料プランではファイルサイズの上限が2GBですが、有料プランでは8GBまで対応しています。50GBのBlu-rayリマックスのような巨大なファイルには向いておらず、その場合は次に紹介するようなローカルツールが必要になります。また、現在このサービスはPGS字幕トラックを焼き付けるのではなく削除します。焼き付け処理は完全な映像の再エンコードを必要とし、処理時間を大幅に遅くしてしまうためです。もしその字幕が必要な場合は、元のMKVファイルを削除する前に、出力ファイルを確認するようにしてください。 テレビ番組のエピソードや8GB未満の映画、誰かから送られてきたクリップなど、日常的なファイルのほとんどにとって、ブラウザベースの方法はソフトウェアをインストールすることなく、どこでも再生可能なMP4を手に入れる最も速い手段です。

ローカル環境でFFmpegを使う(無料、ファイルサイズ無制限)

FFmpegは数え切れないほどの動画アプリの心臓部となっているエンジンであり、これを直接使うことで究極のコントロールが可能になります。コマンドラインと聞いても怖がる必要はありません。この特定の作業に関するコマンドは短く、強力で、覚えやすいものです。正直なところ、GUIで何度もクリックするより、こちらのほうが速いことが多いです。 何も再エンコードしない、純粋なロスレスのリマックスを行うための魔法のコマンドがこちらです: `ffmpeg -i input.mkv -c copy output.mp4` この `-c copy` という部分が、FFmpegに対してすべてのストリーム(映像、音声、字幕)を変更せずにコピーするように指示します。最近のコンピューターなら、これはほぼ一瞬で完了します。唯一の注意点は、音声がMP4で扱えない形式(TrueHDやFLACなど)の場合、FFmpegはエラーを吐いて停止してしまうことです。そうなった場合は、音声だけを再エンコードするように指示するだけです: `ffmpeg -i input.mkv -c:v copy -c:a aac -b:a 384k output.mp4` ここでは、`-c:v copy` が映像をロスレスでリマックスし、`-c:a aac -b:a 384k` が音声を高品質な384kb/sのAACに再エンコードします。これは5.1サラウンドに最適です。ステレオなら192kで十分でしょう。 複数の音声トラックがあり、最初の1つだけが必要な場合は、出力ファイル名の前に `-map 0:v:0 -map 0:a:0` を追加します。すべてを保持したい場合は `-map 0:v -map 0:a` を使います。字幕については、テキストベースのSRTは `-c:s mov_text` で含めることができます。しかし、画像ベースのPGS字幕はMP4に入れることができないため、エラーを防ぐために `-map -0:s` で除外する必要があります。 FFmpegはどこでも動作します。macOSではHomebrewで `brew install ffmpeg` と実行します。Windowsでは、ffmpeg.orgから静的ビルドをダウンロードし、PATHに追加してください。`-c copy` を使った10GBのリマックスなら、まともなノートPCで30秒もかからないはずです。

本当に再エンコードが必要な時(と、覚悟すべきこと)

はっきり言いますが、可能な限り完全な映像の再エンコードは避けるべきです。しかし、いくつかのケースでは避けられません。映像コーデックが古いかサポートされていない場合(DVDのMPEG-2など)、ファイルサイズを絶対に小さくする必要がある場合、あるいは気難しいデバイスをターゲットにしている場合です。例えば、一部の古いSamsung製テレビは、H.265のプロファイルレベルに非常にうるさいことがあります。 再エンコードは、常に品質、ファイルサイズ、時間の間のトレードオフを意味します。2時間のH.264映画を、より低いビットレートのH.264に再エンコードすると、オリジナルより少しソフトな見た目になります。どれくらい悪化するかは、圧縮をどれだけ積極的に行うかによります。より新しいH.265コーデックを使えば、H.264の約半分のファイルサイズで同等の画質を得られますが、エンコード処理ははるかに、はるかに長くなります。一般的なCPUではリアルタイムの3〜8倍、つまり2時間の映画がマシンを6〜16時間も占有する可能性があるということです。GPUエンコーディング(NVENC、VideoToolbox)はずっと速いですが、一般的に同じビットレートでは若干品質が劣ります。 FFmpegで、堅実なH.264再エンコードコマンドは次のようになります: `ffmpeg -i input.mkv -c:v libx264 -crf 18 -preset slow -c:a aac -b:a 192k output.mp4` `-crf` の値については、18は視覚的にソースとほぼ見分けがつきません。デフォルトは23で、これは良いバランスでファイルサイズも著しく小さくなります。28まで上げると、目に見えてソフトさが出てきます。`-preset slow` フラグは、時間を犠牲にして圧縮効率を上げるようFFmpegに指示します。アーカイブ用途なら `veryslow` がさらに良いでしょう。 しかし、あなたの唯一の目的が、MKVをサポートしていないデバイスで再生することであるなら、再エンコードは多くの場合、最初にとるべき手段ではありません。そのデバイスにVLCやInfuseをインストールするだけです。その方が速く、簡単で、オリジナルの品質を保てます。

よくある問題とその解決策

この手の作業を何度か経験した人なら誰でも、物事がうまくいかないことがあると知っています。ここでは、MKVをMP4に変換する際によく発生する問題と、その解決策を紹介します。 **音声の同期ズレ:** 音声が最初は同期しているのに、映像から徐々にズレていくという古典的な問題です。これは、スクリーン録画などでよく見られる可変フレームレート(VFR)を使用したMKVをリマックスする際によく起こります。解決策は、FFmpegコマンドに `-vsync cfr` を追加して固定フレームレートを強制することですが、これには映像のタイミングに関する軽微な再エンコードが含まれます。CocoConvertのリマックスエンジンは、VFRコンテンツを検出すると自動的に同期補正パスを適用します。 **変換後に音声がなくなる:** 新しいMP4には映像があるのに、完全に無音。これはほぼ間違いなく、元の音声コーデックがMP4コンテナでサポートされておらず、単に削除されてしまったことが原因です。変換を再実行し、今度は `-c:a aac -b:a 192k` で明示的に音声をエンコードしてください。 **iPhoneやiPadでファイルが再生できない:** Appleデバイスは厳格です。H.264のBaseline/Main/Highプロファイル(Level 5.1まで)、またはH.265のMainプロファイルが必要です。MediaInfoを使って映像プロファイルを確認してください。もしファイルがHigh@L5.2以上、あるいはH.265 Main 10(HDRコンテンツで一般的)の場合、互換性を持たせるために再エンコードが必要になる可能性が高いです。HDRからSDRへの変換は、トーンマッピングを必要とする全く別の厄介な作業です。 **出力ファイルが入力より大きくなる:** 単純なリマックスの後、ファイルサイズは元の1〜2%の範囲内に収まるはずです。もし劇的に大きくなっているなら、ほぼ間違いなく何かを誤って再エンコードしています。映像に `-c copy` を使用したか再確認してください。 **チャプターとメタデータが消える:** FFmpegの `-c copy` コマンドはチャプターの保持に優れていますが、多くのオンラインツールはそれらを削除してしまいます。チャプターマーカーが重要なら、VLCの「再生」>「チャプター」メニューで出力ファイルを確認してください。

状況に応じた最適な方法の選び方

では、最善のアプローチはどれでしょうか?それは本当に、あなたのファイルとニーズ次第です。 **最も手軽で速い変換を求めるなら:** ファイルが8GB未満で、標準的な映像/音声トラック(H.264/H.265映像とAAC/AC3音声)を持っているなら、CocoConvertの[MKVからMP4へのツール](/convert/mkv-to-mp4)を使いましょう。ファイルをアップロードすれば、サービスが高速なリマックスを行い、完璧なMP4をダウンロードできます。ソフトウェアもコマンドも、面倒なことも一切ありません。出力品質はソースと同一になります。 **パワーユーザーや大容量ファイルの場合:** ファイルが8GBを超える場合、ドラマのシーズン全体を変換する場合、あるいはトラックを精密に制御する必要がある場合、`-c copy` を使ったFFmpegがあなたの親友になります。無料で、ファイルサイズ制限もなく、リマックスのコマンドは非常にシンプルなので、スクリプトで簡単に自動化することもできます。 **再エンコードが必須の場合:** 本当に互換性のないソース素材(古いDVDリッピングなど)や、どうしてもファイルを縮小する必要がある場合は、再エンコードを計画する必要があります。この用途には、HandBrakeをお勧めします。FFmpegのパワーをグラフィカルなインターフェースで提供してくれます。MKVを開き、「概要」タブでMP4コンテナを選択し、`H.264 MKV 2160p60` のような品質プリセットを選び(解像度に合わせて調整)、品質スライダーを微調整するだけです。HandBrakeは音声トラックの管理や字幕の焼き付けも簡単に行えます。 経験から生まれた最後のアドバイスを一つ。出力されたMP4を再確認するまで、必ず元のMKVファイルを保管しておいてください。リマックスは高速でロスレスですが、もし何か問題(音声トラックの欠落、同期ズレなど)が起きた時、異なる設定で再試行できるソースファイルがあってよかったと思うはずです。ディスクスペースは安いですが、あなたの時間はそうではありません。

Ready to convert?

Try it now — fast, secure, and private.

Convert Now →