Open或Constructor上的OpenCV VideoCapture超时?

时间:2016-07-14 03:37:06

标签: c++ opencv ffmpeg

OpenCV具有VideoCapture类来加载来自外部源的视频。我的网络上有一个网络摄像头,我可以通过RTSP访问(使用FFMPEG插件)。

令人遗憾的是,打开视频流似乎是open方法和构造函数阻塞。这意味着如果流已关闭,程序将永远停留在那里。

是否有任何超时能力?我尝试查看源代码,但最后它调用外部FFMPEG函数,我相信并且我无法继续下去。

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

1 个答案:

答案 0 :(得分:2)

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

有可能为包含库Github issue的opencv构建ffmpeg的dll。使用包装文件引用Peter的repo(第198行是可以设置的超时)。 (对不起,我无法发布更多链接)。 只要你对制作这个就感到满意,那么你应该设置好(这个包装很简单,它已经说明了)。如果您正在寻找github上的实际问题,请阅读上面链接的问题。在那里,您可以找到有关已解决的实际问题的更多信息。

使用CMake重建OpenCV(python cv2):Example Visual Studio