C++突然阻止使用VideoCapture从IP摄像机读取帧
C++ suddenly blocks on reading a frame from IP camera using VideoCapture
我使用的是OpenCV 3。如果摄像机与网络断开连接或帧出现问题,则使用IP摄像机的VideoCapture捕获帧会被阻止。我首先检查videoCapture.isOpened()
。如果是的话,我尝试了这些方法,但似乎都不起作用:
1)抓取器>>帧
if(grabber.isOpened()) {
grabber >> frame;
// DO SOMETHING WITH FRAME
}
2)读取
if(grabber.isOpened()) {
if(!grabber.grab()){
cout << "failed to grab from camera" << endl;
} else {
if (grabber.retrieve(frame,0) ){
// DO SOMETHING WITH FRAME
} else {
// SHOW ERROR
}
}
}
3)抓取/检索
if(grabber.isOpened()) {
if ( !grabber.read(frame) ) {
cout << "Unable to retrieve frame from video stream." << endl;
}
else {
// DO SOMETHING WITH FRAME
}
}
视频流在某个时刻被卡住,用之前的所有选项抓取一帧,每个选项都会阻止,但不会退出或返回任何错误。
你知道是否有办法处理或解决这个问题吗?也许是一些验证、try/catch或计时器?
此问题通过此合并解决,但意外的是opencv_ffmpeg.dll尚未发布。
您可以在这里找到更新的opencvffmpeg.dll和测试。
相关文章:
- 如何找到捕获IP摄像机捕获的帧的准确时间?
- 将JPEG流从IP摄像机接收到C 的RGB图像
- 使用IP摄像机的OpenCV上的问题
- 我如何访问IP摄像机错误(摄像头 /型号:Grundig / GCI-K1505B)
- Visual如何使用OPENCV(C 代码)访问IP摄像机?有没有一种方法可以使用OpenCV VLC访问?(Win
- openCV_FFMPEG **.opencv 2.4.11中的dll错误,用于IP摄像机访问
- 使用OpenCv和多线程的IP摄像机实时视频馈送
- C++突然阻止使用VideoCapture从IP摄像机读取帧
- 使用openCv创建通用URL以显示IP摄像机
- 使用opencv连接到IP摄像机
- OpenCV无法流式传输IP摄像机
- 从 IP 摄像机流式传输在 VLC 上非常抖动.
- 运行.EXE文件时无法访问 IP 摄像机
- 使用 Live555 从连接到 H264 编码器的 IP 摄像机流式传输实时视频
- 如何查找IP摄像机的号码端口
- 使用FFmpeg从IP摄像机(RTSP)读取会导致5xx服务器错误
- 在命令行中通过ffmpeg或opencv从IP摄像机捕获图像,得到灰色图像
- 如何从松下IP摄像机获得MJPEG流
- OpenCV VideoCapture IP摄像机重新连接
- 来自IP摄像机的MJPEG视频太快