OpenCV具有VideoCapture类,用于从外部源加载视频。我的网络上有一个网络摄像机,我正在使用 RTSP(使用 FFMPEG 插件)访问它。
可悲的是,打开视频流时似乎是打开方法和构造函数块。这意味着如果流关闭,程序将永远卡在那里。
是否有任何超时功能?我尝试查看源代码,但最终它调用了我相信的外部 FFMPEG 函数,我无法更进一步。
如果没有超时,是否有任何类型的库用于 RTSP 或 HTTP 的非阻塞视频捕获方法?
虽然这个问题很老,但我也会为其他人提供更多的总结信息。
有可能使用包装库为 opencv 构建 ffmpeg 的 dll Github 问题是指 Peter 的带有包装文件的存储库(第 198 行是可以设置的超时)。(抱歉,我无法发布更多链接)。只要你对Make'ing感到满意,那么你应该被设置(这个包装器很容易,据说)。如果您正在github上寻找实际问题,请阅读上面链接的问题。在那里,您可以找到有关已修复的实际问题的更多信息。
使用 CMake 重建 OpenCV (python cv2):示例 Visual Studio。