我对OpenCV的VideoWriter有一种奇怪的行为: 经过一段时间(~2到5分钟,35fps 1080i MJPEG流,视录制的视频类型而定),OpenCV停止在我的文件中写入,但保持打开状态,不要给我任何关于发生了什么的线索(不cv ::异常捕获,没有断言,没有警告消息......没有任何东西)。如果一切正常,我的程序会继续运行,当我关闭(干净地)程序并打开视频文件时,它只包含XXfirst分钟的视频...... 这是一小块代码:
try{
m_writer1->write(mat1);
} catch (cv::Exception & e)
{
std::cout << e.what() << std::endl;
}
if (!m_writer1->isOpened())
{
std::cout << "writer1 got pissed off" << std::endl;
}
我在程序结束时干净利落地发布了我的作家。什么可能出错? :/
答案 0 :(得分:0)
我知道这并不能解决内心问题,但对我来说现在已足够了: 切换到PIM1 MPEG1编解码器解决了我的问题。我的磁盘空间甚至都有很小的增长,而且质量足以满足我的需求。
我认为我最初的问题不是由溢出引起的。视频以正常速度录制,因此编写器无法溢出。 valgrind没有注意到任何记忆问题,我没有泄漏等...
无论如何,谢谢所有