PySideで新しいQMovie「プロバイダー」を作成する方法について誰かが私を正しい方向に向けることができますか?
できるだけ簡単に表示したいビデオストリームがあります(オーディオなし、フレームレートが不明で可変のフレームのシーケンスのみ)。この例は、私のビデオが型破りなソースからのものであることを除けば、完璧に見えます。これはファイルではなく、標準化されていない形式のネットワークストリームです。各フレームを受け取るコードを簡単に書くことができます。私の考えは、上記の例のようにこのストリームをラベルに表示できるように、「QMovieプロバイダー」を作成することです。
私の最初の考えは、QMovieをサブクラス化し、そこでいくつかの関数を上書きすることでしたが、インスタンスが読み取る「デバイス」について何をすべきかわからないため、ドキュメントを読むときにそれについて考え直し始めました。
前述のドキュメントで、QMovieがQImageReaderを使用していることに気付いたので、次の考えは、そのクラスを拡張して、ストリームからフレームを読み取らせることでした。それは同様の質問を提起しますが、たとえば、「supportedImageFormats()」関数で何をすべきですか?
新しいフレームを受信するたびにQLabelの画像を直接更新することを試みてきましたが、「QPixmap:GUIスレッドの外部でpixmapを使用するのは安全ではありません」というエラーが発生します。
したがって、基本的に私は少し困惑しており、PySideアプリケーションでビデオストリームを表示するためにQLabelを取得する方法についてのポインタやチュートリアルを本当にいただければ幸いです。