无法在VideoCapture上获取后端-OpenCV3警告现在是OpenCV4错误?

时间:2019-07-19 19:49:05

标签: python opencv video-capture

我有一个运行24/7的Python应用程序,可以处理.mp4文件,因为它们是由安全摄像机保存到文件夹中的。我以前注意到,我偶尔会在Python控制台中显示警告,类似[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7fcbc22b4e00] error reading header。但是,使用Python 3.6上的OpenCV 3.4,这似乎只是一个警告,并且可以正常运行。

我最近已升级到Raspberry Pi 4,因此在Debian Buster上安装了最新的OpenCV 4.1。我注意到很多视频都失败了,经过调查,所有这些视频先前都发出了警告。不确定我可以做很多事情;不清楚视频到底有什么问题,它是断断续续的,但是由于以前一直都在工作,因此我对此并不太担心。

所以实际上是一个两部分的问题...

1)谁能确切指出OpenCV 3.4和4.1之间的更改会改变这种行为?

2)为了进一步诊断,我一直在尝试查找OpenCV使用的后端编解码器。该链接(https://docs.opencv.org/4.1.0/de/db1/group__videoio__registry.html暗示应该有一个getBackends()函数,但是它似乎在我的安装中不存在-无法通过cv2.VideoCapture.getBackends()找到。

任何想法/建议都值得赞赏。

戴夫

0 个答案:

没有答案