video-capture - opencv 3.4.1 readFrame 中错误 : Assertion failed (chunk. m_size <= 0xFFFF)

标签 video-capture opencv3.0

我使用相同的代码和相同的视频在两个环境上进行测试。首先我在“Opencv3.1.0 + windows(ubuntu) + VS2015”上测试,没有错误。但是当我使用“opencv3.1.0 + windows(ubuntu) + VS2015”时,没有错误。 4.1+ MacOS + Clion”,我收到错误:

Unexpected list type. Expected: hdrl. Got: movi.
OpenCV(3.4.1) Error: Assertion failed (chunk.m_size <= 0xFFFF) in readFrame, file /tmp/opencv-20180307-60086-ryy1b3/opencv-3.4.1/modules/videoio/src/container_avi.cpp, line 514
libc++abi.dylib: terminating with uncaught exception of type cv::Exception: OpenCV(3.4.1) /tmp/opencv-20180307-60086-ryy1b3/opencv-3.4.1/modules/videoio/src/container_avi.cpp:514: error: (-215) chunk.m_size <= 0xFFFF in function readFrame

测试代码:

VideoCapture cap("test.avi");
if(!cap.isOpened())
{
    cout << "error" << endl;
    return -1;
}
Mat img;
double rate = cap.get(CV_CAP_PROP_FPS);
cout << rate << endl;
int total_rate = cap.get(CV_CAP_PROP_FRAME_COUNT);
cout << total_rate << endl;
while (true) {
    if(!cap.read(img)) break;
}

如何解决这个问题以及为什么?谢谢。

最佳答案

也许不是最好的解决方案,但是,将扩展名“.avi”更改为“.mp4”或“.mkv”对我来说很合适。问题可能出在 opencv lib 上

关于video-capture - opencv 3.4.1 readFrame 中错误 : Assertion failed (chunk. m_size <= 0xFFFF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49746279/

相关文章:

c++ - OpenCV Videocapture 抓取和检索

python - Opencv:霍夫线不显示

javascript - 如何在opencv JS中读取图像

Python OpenCV 视频格式浏览器播放

ffmpeg DirectShow 捕获 2 个引脚

c++ - 使用 Qt5 从网络摄像头录制视频

c++ - OpenCV3.0.0dev中鱼眼相机模型的主要引用有哪些?

python - 在图像中找到矩形并提取其中的文本以将其另存为新图像

Android hardware.camera 和 MediaRecorder

python - 使用 opencv 和 python 从具有可变帧速率的 IP 摄像机录制视频