Qtウィジェットに画像を表示する最も速い方法は何ですか?私はlibavformatとlibavcodecを使ってビデオをデコードしていますので、すでに生のRGBまたはYCbCrの4:2:0フレームがあります。私は現在、QGraphicsPixmapItemを含むQGraphicsSceneオブジェクトでQGraphicsViewを使用しています。 QPixmap :: fromImage()を使用して、メモリバッファからQImageコンストラクタを使用し、QPixmapに変換することで、現在フレームデータをQPixmapに取得しています。Qtでデコードされたビデオフレームを表示する最も効率的な方法は何ですか?
私はこれの結果が好きで、比較的速いと思われますが、より効率的な方法が必要であると思っています。私はまた、QImageからQPixmapへの変換が高価であると聞いてきました。ウィジェットでSDLオーバーレイを使用するソリューションを実装しましたが、QGraphicsViewを使用してビデオディスプレイとのクリックや他のユーザーとのやりとりを簡単にキャプチャできるため、Qtだけに留まりたいと思います。
libswscaleで必要なビデオスケーリングや色空間変換を行っていますので、すべての処理が完了した後に画像データを表示する方が効率的な方法を知っているかどうかを知りたいと思います。
ありがとうございました。
私はデコーダのスレッドでswfaleでyuvパケットをrgbに変換し、あなたの方法を使用しました。完璧に走っている。 – baci
'p.SetRenderHint(QPainter :: SmoothPixmapTransform、1);' - setRenderHintは小文字でなければなりません。ありがとう、@ottoshmidt。 – ottoshmidt
一定。 –