Python 3.6.3 OpenCV3.3.1 + Contrib Windows VideoCapture SDP文件无法正常工作

时间:2017-12-04 17:15:21

标签: python opencv

正如标题所说,我的cv2.VideoCapture(" bebop.sdp")无效。我能得到的唯一调试信息是isOpened()返回False。

videoFeed = cv2.VideoCapture("bebop.sdp")
while True:

    ret, currentVideoFrame = videoFeed.read()
    if ret:
        cv2.imshow('frame',currentVideoFrame)
        cv2.waitKey(1)
    else:
        print("FrameError - %s" % videoFeed.isOpened())

用sample.mp4文件替换bebop.sdp工作正常。 bebop.sdp肯定在工作目录中(与sample.mp4一起)。我在这里有一个ffmpeg dll:" C:\ Users \ uname \ AppData \ Local \ Programs \ Python \ Python36 \ opencv_ffmpeg331_64.dll"。代码在python2.7下运行良好(虽然我确实记得有类似的问题,但是dll修复了它。

我可以在VLC中打开bebop.sdp文件,然后收到我期待的视频。

我可以访问任何调试信息吗?

提前致谢!

2 个答案:

答案 0 :(得分:0)

我设法通过下载python3.4.4并安装OpenCV 3.1.0.5来解决问题。不知道为什么以后的版本有问题!

答案 1 :(得分:0)

也许是因为不同的FFMPEG版本。

新的FFMPEG使用ffplay xxx.sdp会出错。

相反,您应该在sdp文件之前添加-porotocol_whitelist文件,rtp,udp。

我认为这是同样的原因。