[英]Python - Getting the last frame of a h264 video file
我正在尝试将视频文件的最后一帧保存到磁盘。 代码没有给出错误,但保存的帧不是最后一帧。 这可能是第一次。 我尝试过不同的cap.set参数,但保存的帧保持不变。
cap = cv2.VideoCapture('temp.h264')
cap.set(1, cap.get(7)-1)
#sets position to the last frame
ret, img = cap.read()
cap.release()
image = Image.fromarray(img)
image.save('tempimg.jpg')
有人能告诉我为什么这不起作用,这将是一个有效的解决方案吗? 谢谢。
编辑:
在使用mp4box将源文件转换为mp4之后,我得到了cap.set。 但这并没有真正解决我的问题,因为代码运行时没有时间进行此转换。 视频文件是picamera的记录,据我所知只能做h264。
那么,有没有办法获得h264的最后一帧? 或使用picamera直接录制到avi或mp4?
您正在使用错误的属性索引。 它应该是cap.set(1, cap.get(7)-1)
。 或者我认为cap.set(2, 1)
。 见文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.