0

Web カメラからの mjpeg ストリームがあり、pygtk を使用して Python で記述されたアプリケーションに表示したいと考えています。ストリームは、ドライバーからのバイト文字列です。これを表示するにはどのウィジェットが最適で、ウィジェットに配置する前に中間変換を行う必要がありますか? これを行うには、独自のウィジェットを作成する必要がありますか?

4

3 に答える 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.PixbufLoaderimage_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 に答える