繁体   English   中英

Python - 获取h264视频文件的最后一帧

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM