Web カメラからの mjpeg ストリームがあり、pygtk を使用して Python で記述されたアプリケーションに表示したいと考えています。ストリームは、ドライバーからのバイト文字列です。これを表示するにはどのウィジェットが最適で、ウィジェットに配置する前に中間変換を行う必要がありますか? これを行うには、独自のウィジェットを作成する必要がありますか?
質問する
1771 次
3 に答える
2
GTK+ には、ビデオのデコードとレンダリングが可能なネイティブ ウィジェットは含まれていません。
GStreamerは、GTK+ と同じ GObject フレームワーク上に構築されたストリーミング メディア ツールキットです。
X11 を使用してビデオをレンダリングできるGstXvImageSinkがあり、GTK+ ウィジェットの上にレンダリングするように構成できるはずです。
于 2009-11-30T16:59:55.363 に答える
1
この例は、gstreamer を使い始めるのに役立ちました。ウェブカメラ ストリームを取得してウィジェットに表示する方法を示しています。
http://pygstdocs.berlios.de/pygst-tutorial/webcam-viewer.html
于 2010-03-02T15:17:06.473 に答える
0
画像ウィジェットを使用して MJPEG ストリームを表示することができます。
バックグラウンド スレッドを開始し、ストリームを読み取らせ、 と を使用してイメージを更新しますgtk.gdk.PixbufLoader
。image_widget.set_from_pixbuf
例えば:
for frame in self.get_raw_frame():
loader = gtk.gdk.PixbufLoader('jpeg')
loader.write(frame)
loader.close()
pixbuf = loader.get_pixbuf()
# Schedule image update to happen in main thread
gobject.idle_add(self.widget.set_from_pixbuf, pixbuf)
完全な動作例はこちら: https://gist.github.com/mic159/fa2181a69f9119871b87
于 2015-01-20T13:54:59.340 に答える