首页 > 解决方案 > 为什么将 Gstreamer 用于 OpenCV 后端?

问题描述

我正在做一些关于 Gstreamer 的教程,我开始想知道为什么人们将 Gstreamer 后端用于他们的 OpenCV 项目。

是因为它比正常速度快Videocapture()吗?

还是它使用硬件加速,比如 Cuda?

我不知道具体是如何Videocapture()工作的,所以任何帮助将不胜感激!

标签: opencvgstreamer

解决方案


1 - “为什么人们在他们的 OpenCV 项目中使用 Gstreamer 后端”

gstreamer 没有默认的后端 api。的默认后端枚举VideoCapture器是CAP_ANY. 正如文档所说:

OpenCV 自动选择并使用第一个可用的后端 (apiPreference=cv::CAP_ANY)。

2 - “是因为它比普通的 Videocapture() 更快吗?”

如前所述,没有正常(默认)后端 api。速度比较也可以改变api到api。是所有后端apiVideoCapture

3 - “或者它使用硬件加速,比如 Cuda?”

Cuda 不使用 gstreamer,它与 ffmpeg 兼容。

有关 opencv 流式传输方法的详细信息,您可以在此处查看


推荐阅读