使用Python管理多平台视频流的最佳方法是什么?

我头脑中有这个问题超过一年了.我猜你们可能有答案.

在某些Python GUI应用程序中,我需要显示视频流.
我需要记录此流的某些部分以便稍后重新读取.

而且,我需要使这个python应用程序多平台(OSX,GNU,Windows)

我对许多解决方案持开放态度:

>将相机连接到流并使用python应用程序读取流. (RTP VLC可以做到这一点)
>使用Phonon读取相机
>创建一个抽象类来定义不同的读取器,并在操作系统的功能中使用Quicktime,Win32或GStreamer.

你有什么经历,你会用它做什么?

解决方法:

我也定期研究过这个问题,看来底层任务的复杂性太高了,无法为你的主题问题设置一个简单的快捷方式抽象库.不过,我建议将pyopencv用于你所阐述的特定任务.它有一个网络摄像头输入/捕获类,它可以跨平台工作,并具有合理的用户群,在python中,发布示例.最新的是2.3.1并且是最近的.您可以在令人难以置信的有用网站上获取为您编译的Windows版本(不是我的,只是说):

http://www.lfd.uci.edu/~gohlke/pythonlibs/

既然你要求获得一些图书馆的经验,我会说:gstreamer在Linux上为我工作但是在Windows上设置并且对我来说不起作用是一个巨大的痛苦.这是很久以前的事了,也许它现在工作得更好. vlc.py是一个简单的库,用于测试和查看vlc是否适合您.它目前在64位Windows平台上不起作用;不知道为什么,但似乎很多人报告了类似的错误,所以这取决于你需要多少跨平台支持.

上一篇:Gstreamer python:在管道运行时添加和删除音频源


下一篇:python – 多线程Gstreamer w / PyGTK崩溃(xcb_xlib_threads_sequence_lost)