ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

VLCで「VP80形式に対応していません」エラーが出たときの原因と解決方法

こんな状況に心当たりはありませんか? あなたはLinuxユーザーで、VLCをお気に入りのメディアプレイヤーとして使っています。普段は公式リポジトリからソフトウェアをインストールしていて、特に問題は起こりません。しかし中にはVLCが標準で同梱されていないディストリビューションもあり、その場合はサードパーティのリポジトリを追加する必要があります。そしてVLCをインストールし、いざメディアを再生しようとした瞬間——

次のようなエラーが表示されます。No suitable decoder module: VLC does not support the audio or video format "VP80". Unfortunately there is no way for you to fix this.(適切なデコーダーモジュールがありません:VLCは音声・動画形式「VP80」に対応していません。残念ながら修復方法はありません)

うわっ、嫌な予感……。でもご安心ください。この記事では、この問題の原因と具体的な解決策をわかりやすく解説します。

問題の原因

この不親切で誤解を招くエラーが表示される最大の理由は、壊れている、あるいは互換性のないメディアコーデックがインストールされており、使用中のバージョンのVLCとうまく連携できていないことです。いたってシンプルな話です。

これは、複数の外部サードパーティリポジトリを利用しており、しかもそれらが同じパッケージを提供している場合に起こりがちです。パッケージのインストール時に競合が発生し、あるパッケージは一方のソースから、別のパッケージはもう一方のソースから導入されることがあります。その結果、バージョンの不一致や競合が生じ、メディアプレイヤーが正常に動作しなくなってしまうのです。

VLCで「VP80形式に対応していません」エラーが出たときの原因と解決方法

筆者はこれまで何度もこの問題について指摘してきました。詳細については、FedoraやopenSUSEのカスタマイズガイド、さらにScientific Linuxのリポジトリ管理チュートリアルを参照することをおすすめします。いずれの記事でも、「サードパーティリポジトリは必要最小限にとどめること」「同じコンテンツを提供する複数のソースを使う場合はリポジトリの優先度を設定して競合を防ぐこと」の重要性が強調されています。

VLCの場合、コマンドラインでは以下のように表示されることがあります。パッケージマネージャーは、競合を解決するために複数の選択肢の中から1つを選ぶよう求めてきます。基本方針としては、すべてのパッケージを単一のリポジトリから揃えるのが安全です。

Problem: vlc-2.1.1-185.4.x86_64 requires vlc-noX = 2.1.1-185.4, but this requirement cannot be provided
  uninstallable providers: vlc-noX-2.1.1-185.4.i586[ftp.gwdg.de-suse]
                           vlc-noX-2.1.1-185.4.x86_64[ftp.gwdg.de-suse]
 Solution 1: Following actions will be done:
   install vlc-noX-2.1.1-185.4.x86_64 (with vendor change)
     openSUSE --> https://packman.links2linux.de
   install vlc-noX-lang-2.1.1-185.4.noarch (with vendor change)
     openSUSE --> https://packman.links2linux.de
 Solution 2: do not install vlc-2.1.1-185.4.x86_64
 Solution 3: do not install vlc-2.1.1-185.4.x86_64
 Solution 4: break vlc-2.1.1-185.4.x86_64 by ignoring some of its dependencies

選択を確定すると、パッケージマネージャーは実行予定の変更内容を通知し、指示に合わせてソフトウェアの追加・削除を行います。

The following packages are going to change vendor:
  libvlc5       openSUSE -> https://packman.links2linux.de
  libvlccore7   openSUSE -> https://packman.links2linux.de
  vlc-noX       openSUSE -> https://packman.links2linux.de
  vlc-noX-lang  openSUSE -> https://packman.links2linux.de
  vlc-qt        openSUSE -> https://packman.links2linux.de

その結果、再生できないメディアプレイヤーのできあがり——悲しいことに、こうなってしまうのです。

解決方法

ログを読んでもあまり役には立ちません。この問題を解決する唯一の合理的な方法は、以下の順序で作業を進めることです。

  1. リポジトリの競合を整理する:重複して同じパッケージを提供しているリポジトリを特定します。
  2. 影響を受けたバイナリとライブラリを完全に削除(パージ)する:バージョンが混在した状態を解消します。
  3. リポジトリを無効化または優先度設定する:今後の競合を防ぎます。
  4. VLCを再インストールする:クリーンな状態で入れ直します。

この順番こそが、正しい手順です。問題に遭遇したら、まずVLCを削除しましょう。コマンドラインまたはGUIからパッケージマネージャーを開き、余計なコンテンツを提供しているリポジトリをすべて削除します。あるいは優先度を設定して、信頼できるリポジトリが最優先で使われるようにします。これにより競合を回避できますが、可能であればサードパーティのソースは1つだけに絞るのがベストです。

まとめ

本記事の一部の手順はopenSUSE関連の記事と重複しています。すでにそちらを読んだ方には、この記事は不要に思えるかもしれません。一理あります。それでも、このガイドは特にシステムをいろいろとカスタマイズしたいタイプのユーザーにとって重要です。トラブルに直面すると、つい反射的に全部を再コンパイルして、力技で解決しようとしてしまいがちだからです。

このケースで本当に必要なのは、全体像を見ることです。コーデックもプラグインもVLC自体も、どれも正常です。ただ、互換性のないバージョン同士が組み合わさってしまっているだけなのです。その不整合を解消すれば、すべて元通りになります。

つまり、常に慎重に進め、やりすぎず、無理に押し通そうとせず、システムの深刻な破損につながりかねない危険な警告を安易に承認しないことが大切です。そうすれば、VLCはまた問題なく再生できるようになるはずです。

それでは、快適なLinuxライフを!

  1. Windows 10で「指定されたログオンが存在しません」エラーを修正する方法

    PCをデバイスやNAS(Network Attached Storage)に接続しようとした際、「指定されたログオンが存在しません」というエラーが表示されることがあります。このエラーは、以前のWindows 10アップデートを使用しているユーザーから多く報告されており、システム更新プログラムが原因で発生するケースもあります。また、このエラーと同時に、タスクスケジューラのエラーや「ログオンセッションなしではスケジュールされたタスクが実行されない」といったメッセージが表示されることもあります。本記事では、この問題を解決するための複数の方法を詳しく解説します。 Windows 10で「指定されたログ

  2. 【Windows 10】「このアプリは指定されたコントラクトをサポートしていません」エラーの12の解決策

    Windows 10 のパソコンでアプリが正常に動作せず、「このアプリは指定されたコントラクト(契約)をサポートしていません」というエラーメッセージが表示されることがあります。特に Windows を最近アップデートした直後に発生しやすいトラブルで、アプリと OS の互換性や設定に問題がある場合に起こります。 多くの場合、アプリや Microsoft Store の更新だけで簡単に解決できますが、状況によっては別の対処法が必要になることもあります。この記事では、このエラーの主な原因と、実践的な解決策を12の方法に分けて詳しく解説します。 「このアプリは指定されたコントラクトをサポートしていませ