这个问题我脑子里已经有一年多了。我想你们可能已经有了答案。
在某些 Python GUI 应用程序中,我需要显示视频流。 我需要录制此流的某些部分以便稍后重读。
此外,我需要使这个 python 应用程序成为多平台(OSX、GNU、Windows)
我对许多解决方案持开放态度:
- 将相机连接到流并使用 python 应用程序读取流。 (RTP + VLC 可以解决问题)
- 使用声子读取相机
- 创建一个抽象类来定义不同的阅读器,并在操作系统的功能中使用 Quicktime、Win32 或 GStreamer。
你的经验是什么,你会用什么来做到这一点?
最佳答案
我也定期研究过这个问题,似乎底层任务的复杂性太高了,无法为您的主题问题提供一个简单的快捷方式抽象库。但是,我建议使用 pyopencv 来完成您阐述的特定任务。它有一个用于跨平台工作的网络摄像头输入/捕获类,并且有一个合理的用户群,在 python 中,发布示例。最新的是 2.3.1 并且是最近的。您可以在非常有用的网站(不是我的,只是说说)上获得为您编译的 Windows 版本:
http://www.lfd.uci.edu/~gohlke/pythonlibs/
由于您要求获得一些库的经验,我会说:gstreamer 在 linux 上为我工作,但在 windows 上设置起来非常痛苦并且对我不起作用。这是很久以前的事了,也许现在效果更好了。 vlc.py 是一个简单的库,用于测试并查看 vlc 是否适合您。目前它不适用于 64 位 Windows 平台;不知道为什么,但似乎很多人都报告了类似的错误,所以这取决于你需要多少跨平台支持。
关于python - 使用 Python 管理多平台视频流的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7161628/