正如标题所说,我的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文件,然后收到我期待的视频。
我可以访问任何调试信息吗?
提前致谢!
答案 0 :(得分:0)
我设法通过下载python3.4.4并安装OpenCV 3.1.0.5来解决问题。不知道为什么以后的版本有问题!
答案 1 :(得分:0)
也许是因为不同的FFMPEG版本。
新的FFMPEG使用ffplay xxx.sdp会出错。
相反,您应该在sdp文件之前添加-porotocol_whitelist文件,rtp,udp。
我认为这是同样的原因。