首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨平台摄像头API

跨平台摄像头API
EN

Stack Overflow用户
提问于 2010-04-03 13:41:23
回答 2查看 2.6K关注 0票数 4

我现在正在构建一个视频转换过滤器,它必须实时转换视频帧。滤波器的关键要求之一是具有高性能,以最小化变换过程中丢弃的帧的数量。

另一个优先级较低但也很好的要求是使其跨平台(包括PC和移动设备)。

该应用程序是用C++构建的。

现在我的问题是:

有没有比DirectShow更轻便、性能更好或者更好的接口?因为DirectShow的可移植性仅限于基于Windows的设备(PC和Windows Mobile&CE平台)。

此外,我注意到,例如,使用HTC的自定义相机API比使用DirectShow提供的性能要好得多。如果你想检查这一点,试着在DirectShow中构建一个滤镜,将每种颜色乘以2,并从屏幕上的摄像头实时渲染出来。然后对HTC的API执行同样的操作。通过供应商特定的API,性能提升了近4-5倍。因此,如果该库使用特定于设备的驱动程序实现,那将是非常好的,因为在移动设备上执行此转换时,性能至关重要(大约为500 MHz)。

EN

回答 2

Stack Overflow用户

发布于 2010-10-12 04:33:47

还有opencv.org,它有一个非常简单的跨平台接口,用于连接视频摄像机,但是这是一个为图像处理应用程序设计的复杂系统,并且不直接提供捕获。您需要处理帧并将其流式传输到一个文件中。此外,在性能方面,当我查看openCV时,它的视窗端似乎使用了一个非常旧的16位视频框架。

你可以试试诺基亚的QT应用程序框架。他们目前正在开发一个"QT多媒体“库,它可以做你想做的事情。然而,这目前是一个测试版产品,我的经验(3-4个月前)是,Windows端口仍然需要一些工作。YMMV.

你必须安装QT,然后从qt.nokia.com/downloads/的"other downloads“部分安装"new QT APIS Mobility Project”。根据你项目的时间框架,这可能是一个很好的选择……QT绝对是一个很好的工具包。

票数 3
EN

Stack Overflow用户

发布于 2010-04-03 14:11:00

考虑在OpenGL着色器中执行此操作,然后滤镜可以是硬件加速的,并且可以在桌面和GLES移动设备上运行(但它们不会完全兼容)。您可以(轻松地)以这种方式执行的操作在某种程度上是有限的,但您在视频过滤中想要做的大多数事情肯定都可以完成。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2570359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档