opencv: for some videos, after code: cv2.VideoCapture(video_name), many red warning occurs like non-existing PPS 0 referenced, decode_slice_header error or no frame. Here is my full code:
def get_video_frame(video_name, save_dir, interval):
cap = cv2.VideoCapture(video_name)
frame_all = cap.get(cv2.CAP_PROP_FRAME_COUNT)
index = 0
while index <= frame_all:
success, frame = cap.read()
index += 1
if success and index % interval == 0:
cv2.imencode('.jpg', frame)[1].tofile(os.path.join(save_dir, index, '.jpg'))
cap.release()
However, for some other videos, no these red warning. I read answers of some similar questions(like opencv read error:[h264 @ 0x8f915e0] error while decoding MB 53 20, bytestream -7 and OpenCV FFMPEG RTSP Camera Feed Errors), it cannot solve my problems.
It seems not the frames cannot be read fast enough, Because these warnings occurs just after cv2.VideoCapture(video_name), I observe this in debug mode.