エラー「動画の再生に失敗しました」対処法
はじめに
本記事では、ThumbnailCityビューアを起動時に表示されるエラー「動画の再生に失敗しました」の原因と対処方法について解説しています。
このエラーは、ThumbnailCityがサムネイル等を動画から切り出す際に、ミドルウェア※1を使用して内部的に動画を再生しようとしたが、失敗した場合に発生します。失敗の原因は、主に以下の4種類に分かれます。
- 再生に必要なスプリッタ※2やデコーダ※3などのコーデック※4類が無い。
- 拡張子とコンテナ※5種別が合っていない。
- インストールされているコーデック類にバグや制限がある。
- 動画ファイルが壊れている。
※1:OSとアプリの間にあるソフトウェア。MediaFoundation※6,DirectShow※7,libVLC※8等がある。
※2:コンテナから映像や音声データ等を取り出すソフトウェア。
※3:圧縮(エンコード)された映像データを復号(デコード)するソフトウェア。
※4:デコーダやエンコーダの総称。スプリッタ等も含めることもある。
※5:映像や音声などを纏めたファイルやその形式。mp4やmkvなどがある。
※6:Windows OS標準のマルチメディア再生用のミドルウェア。
※7:旧世代のマルチメディア再生用のミドルウェア。新しいGPUに未対応等のデメリット有。
※8:VLC Media Playerに同梱されている動画再生用のミドルウェア。
再生に必要なコーデック類が無い
ThumbnailCityは内部的に動画を再生する際に、MediaFoundation,DirectShow,libVLCを順番に試して再生に成功したミドルウェアを使用します。MediaFoundationとDirectShowは、既定では知的財産権などの都合で再生できない種類のコンテナ(例: FLV, mkv)や、エンコード(例: HEVC, VP9)があります。これら既定では対応していないコンテナやエンコードの動画を再生するためには、追加パッケージやサードパーティのコーデックなどをインストールする必要があります。
- MediaFoundationで追加できるコーデックは、主にMicrosoft Storeから入手できます。サードパーティから入手できる場合もあるようです。
- AVCエンコードのFLV動画の場合は、ThumbnailCityに同梱しているFLV Media Sourceを有効化することでMediaFoundationによりサムネイルを生成できるようになります。FLV Media Sourceは「アプリの機能」から「変更」を実行、又はインストーラを再実行して「変更」を実行することで有効化できます。
- DirectShowで追加できるコーデックは、サードパーティから多く無償で提供されています。「コーデックパック」で検索すると色々と見つかります。
- libVLCは、VLC Media Playerをインストールすると利用可能になります。ただし、ThumbnailCityから利用する場合はソフトウェアデコードしか対応していないため処理性能に劣ります。
拡張子とコンテナ種別が合っていない
拡張子とコンテナ種別を混同しているケースが多く、mkvコンテナの動画ファイルに”.mp4″の拡張子が付加されているような例を見かけます。Windowsは、拡張子により使用するアプリやサムネイルプロバイダーを決定する仕組みになっているため、例えば拡張子”.mp4″に関連付けられているアプリがmkvコンテナも扱える場合は正常に動作しますが、そのアプリがmkvコンテナを扱えない場合はエラーになってしまいます。動画ファイルのコンテナ種別をMediaInfo等で調べ、正しい拡張子を付け直すことで、正常に再生できるようになる場合があります。
インストールされているコーデック類にバグや制限がある
コンテナやエンコードに対応するコーデック類がインストールされていても、それらにバグや制限があるためにエラーになっているケースがあります。具体的な例としては、mp4コンテナやmkvコンテナに格納されているAVCやHEVCエンコードの動画で、ピクセル色数が10ビットの場合に、MediaFoundationがエラーになったり、無応答になる事例を確認しています。こうした特定のミドルウェアとコーデック類の組み合わせで発生する不具合の場合は、ThumbnailCityの「システム設定」でミドルウェアの優先順位(表記上はAPIの優先順位)を変更することで回避できる場合があります。
動画ファイルが壊れている
このケースは、ハードウェアの故障や、他のアプリのバグ等により、動画ファイルが破損している場合です。MediaInfo等により動画ファイルを調べることで判別できます。この場合は回避手段はありません。
補足
- ThumbnailCityにデコーダ等を内蔵して欲しい等のご要望を受けることがありますが、知的財産権の点から無理であることをご理解下さい。