关于H264视频流中的I帧关键帧提取保存转换图片

现有一个需求为对硬盘的海量视频数据,用最快的效率提取每间隔n秒的视频帧图像,并进行AI推理。

由此经过网络查询相关技术,则判断只要获取到IDR帧数据,存储起来,就可以成功的解码成图片。此效率极高,可以在短时间内快速转换为图片。

一个完整的I帧是包含以下几个部分,

通过对抓取的H264视频流中的00 00 01 BA进行关键词截获分段,经过反复测试,满足下列几帧后,按顺序存储为"a.h264",cap=cv2.VideoCapture("a.h264")方式读取一帧帧图像,即可成功

# 0        00 00 01 BA     长度20                 //第二步,从65帧往前偏移200,寻找BA帧开始。

# 1        00 00 01 BC     长度100

# 2        00 00 01 E0     长度18

# 3        00 00 01 67     长度14

# 4        00 00 01 E0     长度 13

# 5        00 00 01 68     长度 7

# 6        00 00 01 E0     长度 12

# 7        00 00 01 65     长度 63976(不固定)    //第一步 先找到65帧

# 8        00 00 01 E0     长度 63988(不固定)

# 9        00 00 01 E0     长度1328(不固定)

#10       00 00 01 BA                                   //第三步,从65帧向后找第一个BA帧

按照以上三步后,定位到完整的一帧后,写入到文件中,反复此步骤寻找65,直到末尾即可。

你可能感兴趣的:(视频流,python,视频流,H264,RTP,RTSP)