无需ffprobe,使用OpenCV提取视频I帧的问题求助
大家好,我最近在尝试用OpenCV提取视频里的I帧(关键帧),遇到了个棘手的问题,想请教下各位大佬:
我之前查到资料说,视频关键帧的头部标识应该是b'\x00\x00\x01\xb0',但我用下面这段代码去读取帧并转成字节流查找时,完全找不到这个标识:
while True: ret, frame = vid.read() if ret == False: break print(bytes(frame))
打印出来的内容开头都是类似这样的乱码:
b'YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YK<YL:YL:YM9YM9YM9YM9YM9YM9YM9YM9YM9YM9YM9YM9ZN:ZN:ZN:[O;[O;[O;[O;[O;[N<[N<[M>[M>[L?[L?[L?[L?[L?[L?YN>YN>VN;VN;UM:UM:TJ<TJ<TJ<TJ<SH?SH?SH?QF=QF=QF=PE:OD9ND6MC5LB4I?1E:1C8/B42B42@14?03?03?03@14?03<02<026,.4*,3)+0&(-#%,"$)\x1f!'\x1d\x1f%\x1b\x1d#\x19\x1b"\x18\x1a#\x19\x1b!\x19\x1b$\x1c\x1e% \x1f&! \x1e\x1a\x1d\x1b\x17\x1a\x18\x14\x16\x14\x10\x0f\r\t\x0b\t\x05\x07\x05\x01\x07\x05\x01\x06\x04\x00\x05\x03\x00\x04\x02\x00\x03\x01\x00\x03\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0 ......
我知道ffprobe可以用来定位关键帧,但我不想依赖它,想找其他的库或者方法来实现这个需求,有没有朋友能给我一些建议呀?
备注:内容来源于stack exchange,提问作者Sbstyn

