Ubuntu 16.04でVLC-2.2.2を使用しています。 VLCはビデオを再生できますが、それを使用してスナップショットを撮ることができません。 「設定」->「ビデオ」に進み、出力をOpenGL(GLX)、OpenGL 2、およびXVideoに1つずつ変更することで「ハードウェアアクセラレーションを使用」を無効にしようとしました。
スナップショットをキャプチャしようとすると、次のエラーが表示されます。
[00007f9440d10248] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library 361.42 Tue Mar 22 17:29:16 PDT 2016 for hardware decoding.
[00007f946c509148] vdpau_chroma filter error: corrupt VDPAU video surface 0x7f94208e4950
[00007f94300fca08] core video output error: Failed to convert image for snapshot
VLCにハードウェアアクセラレーションを使用しないように指示する方法はありますか?現時点では、ハードウェアアクセラレーションを無効のままにしておくつもりです。
自分に答える。
Preferences->Video->Use Hardware Acceleration
のオプションは、ビデオがデコードされる方法ではなく、グラフィックスが画面に描画される方法を制御します。 VDPAUを無効にするオプションはPreferences->Input & Codecs
にあります。次に、「ハードウェアアクセラレーションによるデコード」を探し、VDPAU
を他のオプションに変更します。私はX11 VA-API
を使用しています。
そして問題は解決しました。スナップショットを再度撮ることができます。問題が解決するまで、おそらくVDPAUドライバーライブラリの側で(推測するだけで)ハードウェアデコードを無効のままにします。これまでの動画の再生中に知覚可能な遅延はありません。