monomeg Lab. 第2開発室

プログラミングで学んだことの覚書やら、考察ネタやら、なんでもあり

Windows 10にしたらQMediaPlayerがWMV以外再生されなくなったけどとりあえす解決した

タイトルそのまま。厳密にはちょっと違うけど…

事の詳細を記すと、以前まで使用していたノートPCがついに電源すら入らなくなり、「ついに潮時か…」ということで新しくPCを購入しました。 新しいPCでは、Windows 7 Professionalの新規インストールからのWindows 10 Proの無償クリーンインストールを行って、結果的にはWindows 10環境へ完全移行しました。

その後、Windows 10Visual Studio 2013とQt 5.6.1-1 for Windows 64-bit (VS 2013)をインストールし、前回のエントリで使用したプログラムを使って動作検証を行ったのですが、

DirectShowPlayerService::doRender: Unresolved error code 80040266

というエラーが出て動画が再生されなくなってしまいました。その時の顛末と解決法をまとめました。

とりあえず、エラーメッセージでしばらくググッてみると、Qtのバグレポートで同じような環境で同じ状況になっている人を発見。

[QTBUG-51692] QMediaPlayer fails to play some fomats (mp4/mkv) - Qt Bug Tracker

このレポートを発見するまで、「すべての形式の動画ファイルが再生できない」と思い込んでいました。 しかし、「WMVだけ再生された」という報告を読んで「もしかしてWMVは再生できる…?」と思い直し、とりあえずWMV形式の動画ファイルを作って再生してみたところ、あっさりと再生されました…。

バグレポートについた続くコメントを読むと、「コーデックが必要」ということが書かれていたので、例として提示されていた「K-Lite Codec」を試しにインストールしてみました。

www.codecguide.com

すると、これまたあっさりと再生されました。原因はコーデック不足だったのか…。

以前使用していたPCで、コーデックを別にインストールした記憶がないのですが、やはりWindows 10ではDVDプレーヤーが標準搭載されなくなったことで外部のソフトウェアが利用するコーデックが結果として無くなってしまったのでしょうか…?

とりあえず解決されたのでこれで良しとしたいと思います。

(ついでにQMLのVideoOutputで動画を試しに再生してみたところ、以前発生していた音ズレとひどいブロックノイズは全く発生しなくなっていました。なぜだろう…。)