如何解码H264 SDP中的sprop-parameter-sets?

Cip*_*ipi 13 base64 h.264 sdp

对于h264流,SDP中sprop-parameter-sets中Base64解码字节的含义是什么?如何从此示例中了解视频大小?

SDP示例:

sprop-parameter-sets=Z0IAKeNQFAe2AtwEBAaQeJEV,aM48gA==
Run Code Online (Sandbox Code Playgroud)

第一部分从Base64解码到Base16:

67 42 00 29 E3 50 14 07 B6 02 DC 04 04 06 90 78 91 15
Run Code Online (Sandbox Code Playgroud)

第二部分(逗号分隔):

68 CE 3C 80
Run Code Online (Sandbox Code Playgroud)

解答: 获取H264Video流的尺寸

Jon*_*ale 13

您需要的规范可从国际电联网站免费下载: - H.264(03/10)

选择可免费下载的PDF,您将找到7.3.2.1.1节中详述的格式.

对不起,我以前的回答并没有变得迟钝,只是不知道这些信息是在公共领域提供的.

  • 答案中的URL已过时,以下是新的:http://www.itu.int/rec/T-REC-H.264/en (2认同)

kid*_*jan 6

当然规范总是最好的,但SDP中的sprop-parameter-sets通常由你的序列参数和图片参数集组成,base-64编码并用逗号分隔.序列参数和图像参数集基本上告诉解码器如何正确解码输入的H264流; 没有它你无法正确解码.

为SPS/PPS编写解析器并不难,但要做到这一点,你绝对需要规范.您还需要有一个很好的位读者类以及指数golomb编码如何对有符号和无符号值起作用的知识.看到这里这里.

最后,在Doom9上的这个帖子中找到的代码对我来说非常宝贵 - 它基本上是一个基本的H264流的完整解析器.它包括一个位读取器类,解析NALU的例程,sps,pps,VUI参数,序列缩放矩阵等.对于任何视频工程师来说,它都是一个非常方便的代码片段.