我正在使用OpenCV Python来捕获视频。这是我的代码:
import cv2
cap = cv2.VideoCapture("vid.mp4")
while True:
flag, frame = cap.read()
if not flag:
cv2.imshow('video', frame)
if cv2.waitKey(10) == 27:
break
当一帧没有准备好时,会产生如下错误:
或者
Truncating packet of size 2916 to 1536
[h264 @ 0x7ffa4180be00] AVC: nal size 2912
[h264 @ 0x7ffa4180be00] AVC: nal size 2912
[h264 @ 0x7ffa4180be00] no frame!
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffa41803000] stream 0, offset 0x14565: partial file
我希望找到一种方法来隐藏这个错误!我猜想这个错误是由
ffmpeg
产生的。有没有办法隐藏或禁用它?当我调用
cap.read()
时,就会产生这个错误。我也试过用try ... except ...
将其包装起来,但它不起作用,因为它不会抛出任何异常。