Python 如何使用OpenCV解码原始H.264帧?

Python 如何使用OpenCV解码原始H.264帧?,python,opencv,h.264,Python,Opencv,H.264,如何在Python中使用OpenCV解码原始H.264帧?我使用的脚本通过网络获取H.264帧作为字节列表,如下例所述。在下面的示例中,我将尝试解释python脚本中的字节(以及顺序) 我得到的第一个数据(某种帧标识符?)是10字节长的,它看起来总是这样的: #此10字节序列在出现时始终相同: 数据1=[103,66,128,30,139,104,10,2247,149] 接下来是第二个6字节长的序列: #发生时也始终相同: 数据2=[104206168119,32] 最后,接下来是关键帧:

如何在Python中使用OpenCV解码原始H.264帧?我使用的脚本通过网络获取H.264帧作为字节列表,如下例所述。在下面的示例中,我将尝试解释python脚本中的字节(以及顺序)

我得到的第一个数据(某种帧标识符?)是10字节长的,它看起来总是这样的:

#此10字节序列在出现时始终相同:
数据1=[103,66,128,30,139,104,10,2247,149]
接下来是第二个6字节长的序列:

#发生时也始终相同:
数据2=[104206168119,32]
最后,接下来是关键帧:

#键或I帧,始终以以下字节顺序开始:
关键帧=[101,184,0,0,…]
关键帧之后是29个p帧,总是以这个字节序列开始:

#预测或P帧,始终以以下字节序列开始:
p_帧=[97224,…]

之后,
data1
再次出现,整个过程重复。我从网络中获得的帧可以是关键帧,也可以是预测帧。我需要做的是以某种方式将这些帧数据加载到OpenCV中进行进一步分析。我该怎么做?

您可以使用VideoCapture对来自网络或设备的视频进行解码。但不确定API是否允许您传递数据缓冲区。此答案也可能对您有所帮助: