【发布时间】:2015-09-11 11:50:12
【问题描述】:
opencv 在做其他事情时工作正常。它可以打开图像并显示图像。但它无法打开视频。
我用来打开视频的代码如下
import cv2
cap = cv2.VideoCapture("MOV_0006.mp4")
while True:
ret, frame = cap.read()
cv2.imshow('video', frame)
if cv2.waitKey(1) & 0xff == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
但是在执行时,它会输出如下错误消息
[h264 @ 0x1053ba0] AVC: nal size 554779904
[h264 @ 0x1053ba0] AVC: nal size 554779904
[h264 @ 0x1053ba0] no frame!
我的vlc 和mplayer 可以播放这个视频,但是opencv 不能。
我已经安装了x264 和libx264-142 编解码器包。 (使用sudo apt-get install)
我的ubuntu版本是14.04 trusty。
我不确定是不是编解码器问题?
我已经用WITH_UNICAP=ON 或WITH_UNICAP=OFF 重建了opencv,但它根本不影响问题。错误消息永远不会改变。
【问题讨论】:
-
你试过用ffmpeg打开它吗(opencv "wraps" ffmpeg...)?
-
你使用的是什么版本的 OpenCV?
-
另外,您是否在构建后运行了测试?
-
您是否尝试跳过无法读取的帧并尝试下一帧?
-
@xiawi 你这是什么意思?该怎么做?