当前位置: 首页 > news >正文

7. H264码流

  1. H264码流分层
  • NAL层(网络抽象层)
    用于在网络上传输视频流,当数据流在网路传输时,会出现延迟,丢包,乱序重复包等问题。当有了NAL层,就可以有纠错能力。
  • VCL层(视频数据编码层)
    将帧内编码,帧间编码,熵编码后的数据打包在一起,组成VCL层。
    在这里插入图片描述
  1. 码流基本概念
  • SODB(String Of Data Bits)
    二进制数据串,原始数据比特流,长度不一定是8的倍数,故需要补齐。它是由VCL层产生的。
  • RBSP(Raw Byte Sequence Payload 按字节存储的原始数据)
    SODB + trailing bits
    算法是如果SODB最后一个字节不对齐,则补1和多个0
  • NALU
    NAL Header(1B) + RBSP
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    MB:表示宏块
    mb_type:宏块类型
    mb_pred:宏块预测值
    coded residual:宏块残差值
  1. H264的码流格式
  • Annexb格式
    用于在文件中保持。每帧都以 Start code + NALU 组成
    Start code:00000001或000001开头

  • RTP格式
    用于网络传输,每帧都是RTP 包,即NALU单元。
    在这里插入图片描述

  1. H264中的profile和level
  • SPS重要参数
    (1) H264 profile
    对视频压缩特性的描述,Profile越高,就说明采用了越高级的压缩特性。
    (2) H264 Level
    level是对视频的描述,level越高,视频的码率,分辨率,fps越高。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
(3)分辨率
在这里插入图片描述
(4)帧相关

  • 帧数 log2_max_frame_num_minuts4
    指明了COP中的帧的数量。

  • 参考帧数 max_num_ref_frames
    为解码器设置缓冲区大小

  • 显示帧序号 pic_order_cnt_type
    计算显示顺序

(5)帧率
在这里插入图片描述

  • PPS
    在这里插入图片描述
  • Slice Header
    在这里插入图片描述

相关文章:

  • Spring Boot 日志管理(官网文档解读)
  • 数据结构与算法-搜索-双向搜索 和 A*算法(字串变换,八数码,第k短路)
  • 0基础玩转python(打怪升级篇)第一章1.1安装python编辑器
  • Spring-JAVA
  • 每日一题——主持人调度(二)
  • Node.js 登录鉴权
  • IDEA使用Maven方式构建SpringBoot项目
  • 20250223学习记录
  • 网络安全第三次练习
  • UniApp SelectorQuery 讲解
  • DeepSeek使用从入门到精通
  • 安装PHPStudy 并搭建DVWA靶场
  • 拼接:concat、concat_ws和形成集合collect_set、collect_list用法
  • 【Linux】基于UDP/TCP服务器与客户端的实现
  • 第46天:Web开发-JavaEE应用原生和FastJson反序列化URLDNS链JDBC链Gadget手搓
  • 使用 Power Automate 转换 HTML to PDF
  • 迎接DeepSeek开源周[Kimi先开为敬]发布开源最新优化技术
  • XML(eXtensible Markup Language)
  • 在Dify中实现联网检索功能(模拟DeepSeek)
  • 计算机组成原理第四——指令
  • 特朗普将举行集会庆祝重返白宫执政百日,美媒:时机不当
  • 著名统计学家、北京工业大学应用数理学院首任院长王松桂逝世
  • 乌称泽连斯基与特朗普进行简短会谈
  • 常熟银行一季度净赚超10亿增逾13%,净息差较上年末下降0.1个百分点
  • 沈阳市委常委马原出任阜新市委副书记、市政府党组书记
  • 历史一刻,两个航天员乘组拍摄全家福