我有一个网络摄像头的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