VLC の MKV で映像が出ない(音声のみ):原因と修正
MKV (Matroska) は存在する中でもっとも柔軟な動画コンテナ — そして最も驚かされるものです。音声は再生されるのに映像トラックが何も表示しません。MKV はほぼすべてのコーデックを保持できるため、「MKV で映像なし」はたいてい、コンテナが壊れているのではなく、含まれる動画コーデックがデコーダー経路で失敗していることを意味します。以下の修正は実際の原因順に進み、最初の 2 つで大半のケースを解決します。
なぜ発生するのか
- MKV 内の非対応または失敗する動画コーデック — たいてい GPU/ドライバー経路が失敗する MKV 内の HEVC 10-bit、VP9、または AV1 です。
- ハードウェアアクセラレーションの競合 — GPU デコーダーが MKV の映像トラックを誤読みします。
- 複数の映像トラック — 一部の MKV(特にリミックス)には 2–3 の映像トラックがあり、VLC が壊れたものを既定にすることがあります。
- 壊れた MKV インデックス (cues) — 損傷したインデックスが VLC に映像トラックのシーク / 失敗を起こさせます。
- demuxer バグのある古い VLC — MKV の扱いは 3.0.x リリースで大幅に改善されました。
解決方法
解決策 1VLC を最新バージョンに更新する
公式のバグ修正とセキュリティ修正を適用する(現在の安定版:3.0.23)
VLC で Help > Check for Updates に進みます。
VLC が現在のバージョンと最新版を比較します。
アップデートがある場合は、公式ページ videolan.org からダウンロードします。
新しいインストーラーがダウンロードされます。
現在のバージョンに上書きインストールし(設定は保持されます)、再起動します。
VLC が新しいバージョンで動作します。
解決策 2映像トラックを切り替える
複数映像トラックを持つ MKV を修正する
映像を右クリック > ビデオ > ビデオトラック (&T)。
映像トラック一覧が開きます。
複数ある場合は各トラックを試します。
動作するトラックが見つかります。
ツール > トラックの同期化 (&T) で選んだトラックを確認します。
正しいトラックがアクティブです。
解決策 3ハードウェアアクセラレーションによるデコードを無効にする
ほとんどの場合、黒画面・緑画面、モザイク、カクつきを解消する
VLC を開き、Tools > Preferences に進みます(Windows/Linux では Ctrl+P、macOS では Cmd+,)。
Preferences ウィンドウが開きます。
左側の Input / Codecs タブをクリックします。
コーデック関連の設定が表示されます。
Hardware-accelerated decoding を見つけて Disable に設定します。
ドロップダウンが「Disable」と表示されます。
Save をクリックし、VLC を完全に再起動します(動画ではなく、すべての VLC ウィンドウを閉じます)。
VLC はソフトウェアデコードで再起動します。
問題のファイルを再度再生します。
問題が消えれば、GPU デコーダーが原因でした。
解決策 4ビデオ出力モジュールを「OpenGL」に切り替える
特定の GPU 構成での黒画面やレンダリングの不具合を解決する
Tools > Preferences > Video に進みます。
ビデオ設定が開きます。
Output を OpenGL に設定します。
出力モジュールが変わります。
Save をクリックして VLC を再起動します。
VLC が再起動します。
ファイルを再度開き、映像を確認します。
これでビデオが正しく表示されるはずです。
解決策 5MKV インデックスを修復する
再エンコードなしで壊れた cues の MKV を修正する
mkvtoolnix (mkvmerge) — 標準の Matroska ツールキット — をインストールします。
mkvmerge がインストールされます。
実行:
mkvmerge --fix-bitstream-timing-information 0 input.mkv -o fixed.mkv— または単にリミックス:mkvmerge -o fixed.mkv input.mkv。インデックスが再構築されます。
VLC で fixed.mkv を再生します。
修復されたファイルが再生されます。
解決策 6VLC の環境設定を初期値に戻す
クラッシュ、黒画面、音声トラブルの原因となる壊れた設定を消去する
VLC を完全に閉じます。
VLC のプロセスが動作していません。
コマンドプロンプト(Win+R → cmd)またはターミナルを開きます。
コマンドラインが使える状態になります。
コマンドを実行します:
vlc --reset-config(Windows/Linux)。macOS の場合は代わりに~/Library/Preferences/org.videolan.vlcを削除してください。VLC の環境設定が初期値に戻ります。
VLC を起動し、本当に必要な設定だけを再度適用します。
VLC がクリーンな設定で起動します。
上級者向けの対処
解決策 1映像トラックを抽出して調べる
正確なコーデックとそのフラグを特定する
MKV を mkvmerge GUI で開く(または
mkvinfo input.mkvを実行)。すべてのトラックとコーデックが一覧表示されます。
動画コーデック(V_MPEG4/ISO/AVC、V_MPEGH/ISO/HEVC、V_VP9、V_AV1…)とビット深度をメモします。
コーデックが特定できます。
VideoLAN フォーラムでコーデック名 + VLC を検索 — 多くに既知の修正があります。
具体的な修正が見つかります。
再発を防ぐには
- VLC を最新に保ってください — Matroska demuxer の修正はすべての 3.0.x ポイントリリースに入っています。
- ダウンロードした MKV を一度 mkvmerge でリミックスし、壊れたファイルを正規化してください。
- 4K HEVC MKV では、ハードウェアデコードが動くか確認してください(HEVC ガイド参照)。
よくある質問
MKV は他のプレーヤーでは動くのに VLC では動かないのはなぜですか?
MKV は VLC で対応していますか?
VLC は DTS 音声付き MKV を再生しますか?
MKV は映像は出るのに音声が出ない — 何が違いますか?
MKV を MP4 に変換すべきですか?
まとめ
VLC を最新バージョンに更新する — 公式のバグ修正とセキュリティ修正を適用する(現在の安定版:3.0.23). If it does not help, work through the remaining fixes in order: each targets a different layer of the problem. Most users resolve this issue by fix 3 at the latest. Keep VLC updated (current stable: 3.0.23) and revisit this guide when a new VLC version ships.