海思RTSP推流第一篇——H264结构分析

要对RTSP有清晰的认识和理解就需要知道推流的是什么数据,RTSP 只是视频传输的一个统称,实际分为RTP RTCP RTSP等不同部分,需要先对其传输流即H264结构有一个完整的分析。
一、H264 NAL结构简介

  1. 首先是用到的软件
    H264文件分析软件:
    国内有雷神的:SpecialVH264
    国外有:Elecard StreamEye Tools
    二进制文件:WinHex18
  2. H264 NAL结构
    在这里插入图片描述
    用SpecialVH264软件分析可以看到有多个slice(片),这就涉及到H264的组成了,下面就讲解相关的几个重点概念;
  3. NALU和H264的相关概念
    H.264的2大组成部分:VCL和NAL
    视频流组成:
    像素->宏块->片->帧->序列->码流
    NAL:VCL只关心编码部分,重点在于编码算法以及在特定硬件平台的实现,VCL输出的是编码后的纯视频流信息,没有任何冗余头信息
    VCL:NAL关心的是VCL的输出纯视频流如何被表达和封包以利于网络传输
    SODB:String Of Data Bits
    RBSP:Raw Byte Sequence Payload
    NALU:Network Abstraction Layer Units
    关系:
    SODB + RBSP trailing bits = RBSP
    NAL header(1 byte) + RBSP = NALU
  4. H264结构
    H264数据包含一个个NALU
    在这里插入图片描述
    NALU单元结构:
    一个NALU包含 START CODE、NALU HEADER、RBSP
    在这里插入图片描述
    START CODE :00 00 00 01 代表一个NALU的开始
    NALU HEADER:紧跟在start code后面的一个字节 ,八个位最高位开始做为第一个bit1
    (1)bit1禁止位,值为1表示语法出错,所以要数据准确该值应该为0;
    (2)第2~3位为参考级别,可以理解为该slice的重要性,值越小越重要;

(3)第4~8为是nal单元类型,表示slice的类型,例如
0x67的二进制码为:0110 0111
4-8为00111,转为十进制7,参考第二幅图:7对应序列参数集SPS

0x68的二进制码为:0110 1000
4-8为01000,转为十进制8,参考第二幅图:8对应图像参数集PPS

0x65的二进制码为:0110 0101
4-8为00101,转为十进制5,参考第二幅图:5对应IDR图像中的片(I帧)

在这里插入图片描述
在这里插入图片描述
先对H264结构做一个基本分析,做为海思RTSP推流第一篇——H264结构分析。
参考:
https://blog.csdn.net/jefry_xdz/article/details/8461343
https://blog.csdn.net/m0_73443478/article/details/135843054?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522172249528216800226517114%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=172249528216800226517114&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-135843054-null-null.142v100pc_search_result_base8&utm_term=h264%E6%95%B0%E6%8D%AE&spm=1018.2226.3001.4187

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值