我有一個網絡攝像頭的mjpeg流,並希望顯示它在python中使用pygtk編寫的應用程序。 流是驅動程序中的一串字節。 什麼窗口小部件最適合顯示此內容,並且在將其放入小部件之前需要進行一些中間轉換?我應該寫我自己的小部件來做到這一點?蟒蛇GTK容器爲mjpeg流
0
A
回答
2
GTK +不包含能夠解碼和渲染視頻的本機小部件。
您應該看看GStreamer,它是一個基於與GTK +相同的GObject框架構建的流媒體工具包。
它具有能夠使用X11呈現視頻的GstXvImageSink,並且您應該能夠將其配置爲在GTK +窗口頂部呈現。
1
本示例幫助我開始使用gstreamer,它顯示瞭如何抓取網絡攝像頭流並將其顯示在小部件中。
http://pygstdocs.berlios.de/pygst-tutorial/webcam-viewer.html
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
相關問題
- 1. 蟒蛇 - 文件容器
- 2. 蟒蛇GTK窗口沒有響應
- 3. 蟒蛇流RPC服務器與RPC
- 4. 蟒蛇火花流輸出
- 5. 爲蟒蛇
- 6. 爲蟒蛇defaultdict
- 7. 寫MJPEG流盤
- 8. 稱其爲蟒蛇
- 9. 使用$ *爲蟒蛇
- 10. 排序爲蟒蛇
- 11. Mjpeg VLC和HTTP流
- 12. 無法在蟒蛇蟒蛇
- 13. 無法從MJPEG流媒體服務器
- 14. VLC和MJPEG解碼器流(無效頭)
- 15. 從iPhone到服務器的MJPEG流
- 16. 源之間的蟒蛇流數據
- 17. 如何使用流星與蟒蛇numpy
- 18. 與hadoop蟒蛇流不工作
- 19. 的Python - 子流程和蟒蛇外殼
- 20. 訪問YouTube視頻流圖(蟒蛇)
- 21. 蟒蛇中的數據流計算
- 22. 蟒蛇
- 23. 蟒蛇
- 24. 蟒蛇Django的服務器
- 25. 蟒蛇計時器神祕
- 26. 蟒蛇連接器的Neo4j
- 27. 蟒蛇生成器轉換
- 28. 蟒蛇MP3播放器
- 29. 蟒蛇FLV檢查器
- 30. 蟒蛇和SQL服務器
的autovideosink可能也值得一看。 – XTL 2012-02-15 10:25:59