以下では、ThumbnailCityビューアを起動時に表示されるエラー「動画の再生に失敗しました」の原因と対処方法について解説しています。
このエラーは、ThumbnailCityがサムネイル等を動画から切り出す際に、ミドルウェア※1を使用して内部的に動画を再生しようとしたが、失敗した場合に発生します。失敗の原因は、主に以下の4種類に分かれます。
※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)があります。これら既定では対応していないコンテナやエンコードの動画を再生するためには、追加パッケージやサードパーティのコーデックなどをインストールする必要があります。MediaInfo等を使用して、動画のコンテナとエンコードを調べ、自環境で再生可能であるかをチェックして下さい。
拡張子とコンテナ種別を混同しているケースが多く、mkvコンテナの動画ファイルに”.mp4″の拡張子が付加されているような例を見かけます。Windowsは、拡張子により使用するアプリやサムネイルプロバイダーを決定する仕組みになっているため、例えば拡張子”.mp4″に関連付けられているアプリがmkvコンテナも扱える場合は正常に動作しますが、そのアプリがmkvコンテナを扱えない場合はエラーになってしまいます。動画ファイルのコンテナ種別をMediaInfo等で調べ、正しい拡張子を付け直すことで、正常に再生できるようになる場合があります。
コンテナやエンコードに対応するコーデック類がインストールされていても、それらにバグや制限があるためにエラーになっているケースがあります。具体的な例としては、mp4コンテナやmkvコンテナに格納されているAVCやHEVCエンコードの動画で、ピクセル色深度が10ビットの場合に、MediaFoundationがエラーになったり、無応答になる事例を確認しています。iPhone等のモバイルデバイスで撮影した動画を、Windowsに取り込んでExplorerで一覧した場合にサムネイルが表示されない現象は、このMediaFoundationの制限が原因です。
こうした特定のミドルウェアとコーデック類の組み合わせで発生する不具合の場合は、ThumbnailCityの「システム設定」でミドルウェアの優先順位(表記上はAPIの優先順位)を変更することで回避できる場合があります。
このケースは、ハードウェアの故障や、他のアプリのバグ等により、動画ファイルが破損している場合です。MediaInfo等により動画ファイルを調べることで判別できます。この場合は回避手段はありません。
VLC Media PlayerやGOM Player等で再生できる動画でも、ThumbnailCityで対応できるとは限りません。これらプレイヤーは、MediaFoundationやDirectShowを使用せずに、内蔵したデコーダ等を使用して動画を再生しているため、コーデック類を別途インストールする必要がありません。
ThumbnailCityにデコーダ等を内蔵して欲しい等のご要望を受けることがありますが、特許などの知的財産権の点から無理であることをご理解下さい。
正規にインストールしたThumbnailCityが、アンチウイルスソフト(セキュリティソフト)により、ウイルスとして誤判定されてしまい、以下のような問題が発生することがあります。(特にバージョンアップ版がリリースされた直後に起きることが多いようです。)
こうした誤判定は、アンチウイルスソフト側でThumbnailCityのアプリ本体を例外指定することで回避できます。また、例外指定することで、アンチウイルスソフトが行っている判定処理をスキップすることができますので、実行速度の向上も見込むことができます。
例外指定の方法は、アンチウイルスソフト毎に異なりますのでここでは割愛させて頂きますが、アンチウイルスソフトの名称と「例外指定」を組み合わせてWEB上で検索することで調べられるかと思います。
例外の指定は、フォルダを指定する場合と、ファイルを指定する場合があります。
フォルダを指定する場合は、インストール先フォルダ※1を指定してください。
ファイルを指定する場合は、インストール先フォルダ※1内の以下のファイルを指定してください。
ThumbnailCityは、ビューアで動画のシーンを表示する際や、フォルダに表示するサムネイルを生成する際に、動画再生用にミドルウェア(以下API)を使用しています。ThumbnailCityが使用しているAPIの特徴を以下に示します。ビューアで表示する際の参考にしてください。
| API略称 | 説明 |
|---|---|
| MFe | MediaFoundation(MediaEngine)の略で、OS標準のミドルウェアです。MFsよりもGPUを有効に活用できることが多いですが、ThumbnailCityの使用方法では時間精度に劣る場合があります。MFsと同じcodecを利用できます。精密ビューアでは使用できません。 |
| MFs | MediaFoundation(MediaSession)の略で、MFeと同様にOS標準のミドルウェアですが、H265等でGPUデコードに対応していない場合があります。MFeと同じcodecを利用できます。精密ビューアのMediaFoundationはこちらのミドルウェアが使用されます。 |
| DS | DirectShowの略で、旧世代のOS標準のミドルウェアです。新しめのエンコードではGPUデコードに対応していないことが多いですが、FLV等の古いコンテナやエンコード方式に対応したcodecが3rdパーティから多く供給されています。 |
| VLC | libVLCの略で、VLC Media Playerに同梱されている3rdパーティによるミドルウェアです。多くのコンテナ形式やエンコード方式に対応していますが、ThumbnailCityから使用する場合は時間精度に劣る場合が多いです。 |