【无标题】

H264原始码流是一个接一个的NALU(网络抽象层单元)租成的,每个单元之间是由 0x00 0x00 0x00 0x01 或者 0x00 0x00 0x01分割而成的,紧接着就是NALU的单元头和数据体:

forbidden_bit(1bit):禁止位

nal_reference_bit:优先级

nal_unit_type:NALU的类型:

可以使用这个算法直接得出 type = nalubuf4 & ((1 << 5) - 1);

和NALU相关的知识点总结:

SPS type = 7

PPS type = 8

(1)SPS和PPS是连续对出现的,后面可能紧跟着IDR片,也有可能是SEI(补偿增强信息单元),网上说使用ffmpeg编码yuv成h264时 SPS和PPS后面紧跟着的IDR

(2)H264码流封装成视频文件时比如FLV,SEI单元和SEI单元后面的第一帧一同处理。

(3)AVC编码中的IPB帧概念相对应的是nalutype的1~5,单纯靠nalutype判断不出来IPB帧的类型

相关推荐
念越4 分钟前
Python基础语法(一):变量、类型与程序控制流
开发语言·网络·python
资讯综合21 分钟前
2026全国云渲染网站排名 不同需求用户适配榜单
开发语言·前端·javascript
aramae22 分钟前
模拟实现strcpy(字符串拷贝)(C语言)
java·c语言·开发语言·算法
PHP实战开发录38 分钟前
PHP接口超时后为什么任务还在跑
开发语言·前端·php·开发
m0_7345717638 分钟前
深入理解C++ 构造函数<十一> initializer_list 构造
开发语言·c++
数据狐(Datafox)1 小时前
京东商品详情API接口解析(附 JSON 样例)
java·开发语言·json
Wang's Blog1 小时前
Java框架快速入门: Spring Security+OAuth2之深度定制UserDetailsService与密码无缝升级
java·开发语言·spring
白远山1 小时前
智慧场馆解决方案小程序系统开发实战与架构设计指南
java·开发语言·小程序·架构
ECT-OS-JiuHuaShan1 小时前
哲学是迭代学,数学是拓扑学
开发语言·人工智能·学习·算法·机器学习·php·拓扑学
影视飓风TIM1 小时前
C++异常与RAII智能指针笔记
开发语言·c++·笔记