OpenCV VideoCapture在Open或Constructor上超时?

Rob*_*ert 5 c++ opencv ffmpeg

OpenCV具有VideoCapture类,可以从外部源加载视频。我的网络上有一个网络摄像机,正在使用RTSP(使用FFMPEG插件)进行访问。

可悲的是,似乎打开视频流时使用了open方法和构造函数。这意味着如果流关闭,则程序将永远停留在那里。

有什么超时功能吗?我尝试查找源代码,但最终它调用了我相信的外部FFMPEG函数,因此无法继续。

如果没有超时,是否存在用于RTSP或HTTP的非阻塞VideoCapture方法的任何类型的库?

Dav*_*art 3

虽然这个问题很老了,但我也会为其他人提供更多总结信息。

可以使用包装库为 opencv 的 ffmpeg 构建 dll。Github 问题参考Peter的带有包装文件的存储库(第 198 行是可以设置的超时)。(抱歉,我无法发布更多链接)。只要你对制作这个感到满意,那么你就应该设置好(据说这个包装非常简单)。如果您正在 github 上查找实际问题,请阅读上面链接的问题。在那里您可以找到有关已修复的实际问题的更多信息。

使用 CMake 重建 OpenCV (python cv2):示例 Visual Studio .