是否可以像从流对象中一样从 C++ 中的通用网络摄像头读取数据?是否有适用于所有网络摄像头的通用 API 或标准?
我说的是 *nix 环境中的 C++。
提前致谢。
对于 Linux,V4L。AFAIR,BSD 使用相同的代码库。其他的我就不知道了。。。
在 Linux 中,使用Video4Linux支持网络摄像头。查看用户空间 API和Video4Linux 介绍。
您可能想检查网络摄像头是否与 TWAIN 兼容并使用它们的 api 来做到这一点。
首先找出网络摄像头是否流式传输视频?通常,他们会将视频流式传输到特定端口。然后,您可以在该端口上用 C++ 打开一个 Socket 并获取视频数据。大多数网络摄像头应该能够做到这一点。
这里的主要内容是您需要了解网络摄像头使用什么视频格式以及如何处理它。Silverlight 或 DirectX 会有所帮助,因为它们可以直接监听特定端口,但您没有提到您使用的是哪个操作系统。
如果网络摄像头没有流式传输,它至少应该具有将视频保存到文件的功能。在这种情况下,还要找出视频格式,这应该有助于您决定使用哪个 API。