我有一个运行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()
找到。
任何想法/建议都值得赞赏。
戴夫