【无标题】

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帧的类型

相关推荐
leo__5201 分钟前
MATLAB实现牧羊人算法
开发语言·算法·matlab
格发许可优化管理系统14 分钟前
Mentor许可证使用规定全解析
java·大数据·c语言·开发语言·c++
FL162386312923 分钟前
C# OpenCvSharp 基于霍夫变换直线检测的文本图像倾斜校正文本图像倾斜校
开发语言·c#
techdashen37 分钟前
在 Fly.io 上使用 Rust 构建远程开发环境:从 Tokio 到 eBPF
开发语言·后端·rust
留白_41 分钟前
pandas文件读取与存储
开发语言·python·pandas
夕除1 小时前
AOP 实现 Redis 缓存切面解析
java·开发语言·python
feifeigo1231 小时前
马尔可夫决策过程(MDP)MATLAB 实现
开发语言·matlab
攻城狮Soar1 小时前
STL源码解析之list(1)
开发语言·c++
x***r1511 小时前
Postman-win64-7.3.5-Setup安装配置教程(Windows 详细版)
开发语言·lua
林森lsjs1 小时前
【日耕一题】4. 较为复杂情况下的求和
java·开发语言