音视频码流基础学习报告

90 阅读2分钟

音视频码流基础学习报告


一、核心概念解析

  1. 编码标准

    • H264/AVC
      • 采用宏块划分、帧内预测(空间冗余压缩)、帧间预测(时间冗余压缩)
      • 关键技术:CAVLC熵编码、去块滤波
    • H265/HEVC
      • 压缩效率提升50%,引入CTU(编码树单元,最大64×64)、SAO(采样自适应偏移)
      • 支持4K/8K超高清视频
  2. 码流分层结构

    graph LR
    A[原始视频] --> B[编码器]
    B --> C[ES流] --> D{封装}
    D --> E[PS流]   -->|本地存储| F[DVD/硬盘录像]
    D --> G[TS流]   -->|网络传输| H[IPTV/直播]
    
  3. 关键术语

    术语定义作用
    ES流原始压缩数据流(无同步信息)编码器直接输出,不可直接传输
    PS流节目流(ES流+同步时钟+基础信令)抗错性弱,适合本地存储
    TS流传输流(固定188字节包,含PID标识)抗传输错误,支持多节目复用
    I/P帧I帧:关键帧(完整图像);P帧:预测帧(参考前一帧压缩)I帧支持随机播放,P帧减少数据量
    ROI动态提升人脸/车牌区域的码率和画质节省带宽同时保证关键区域清晰度
    双码流主码流(1080P存储)+子码流(720P预览)平衡存储成本与实时监控需求

二、传输与控制协议

  1. RTP(实时传输协议)

    • 功能:承载H264/H265的NALU单元,通过时间戳抗网络抖动
    • 包头结构
      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |V=2|P|X|  CC   |M|     PT      |       Sequence Number         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                          Timestamp                            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Synchronization Source (SSRC) identifier            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      
  2. RTSP(实时流控制协议)

    • 交互流程
      C->S: OPTIONS rtsp://192.168.1.1:554 RTSP/1.0  # 查询服务器支持方法
      S->C: RTSP/1.0 200 OK Public: DESCRIBE, SETUP, PLAY, TEARDOWN  
      C->S: DESCRIBE rtsp://192.168.1.1/live RTSP/1.0 # 请求媒体描述(SDP)
      S->C: 200 OK (携带SDP描述:编码格式、分辨率等)
      C->S: SETUP rtsp://192.168.1.1/track0 RTSP/1.0 # 建立传输通道
      S->C: 200 OK (返回RTP/RTCP端口号)
      C->S: PLAY rtsp://192.168.1.1/live RTSP/1.0    # 开始传输数据
      

三、典型应用场景分析

  1. 监控摄像头系统

    • 码流选择
      • 主码流(H265 4Mbps)→ 中心存储
      • 子码流(H264 512Kbps)→ 手机APP预览
    • ROI配置:对人脸区域提升20%码率
  2. 直播推流方案

    graph LR
    摄像机 -->|HDMI| 编码器 --H264 ES流--> 封装服务器 --TS流 over RTP--> CDN分发
    观众端 -->|RTSP/HTTP-FLV| CDN