264 nal type
/*NUAL HEAD
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
*/
F = Forbidden_zero_bit =0;
#define TYPE_SPS_FRAME 0x67 //byte: 01100111 F:0 NRI:11 TYPE:00111 = NALU_TYPE_SPS
#define TYPE_PPS_FRAME 0x68 //byte: 01101000 F:0 NRI:11 TYPE:01000 = NALU_TYPE_PPS
#define TYPE_IDR_FRAME 0x65 //byte: 01100101 F:0 NRI:11 TYPE:00101 = NALU_TYPE_IDR
#define TYPE_SLICE_FRAME 0x41 //byte: 01000001 F:0 NRI:10 TYPE:00001 = NALU_TYPE_SLICE
#define TYPE_SEI_FRAME 0x06 //byte: 00000110 F:0 NRI:00 TYPE:00110 = NALU_TYPE_SEI
#define TYPE_S_FRAME 0x61 //byte: 01100001 F:0 NRI:11 TYPE:00001 = NALU_TYPE_SLICE
/*
/H264定义的类型 values for nal_unit_type
typedef enum {
NALU_TYPE_SLICE = 1, byte: 00001 //非IDR图像的编码条带
NALU_TYPE_DPA = 2, byte: 00010 //编码条带数据分割块A
NALU_TYPE_DPB = 3, byte: 00011 //编码条带数据分割块B
NALU_TYPE_DPC = 4, byte: 00100 //编码条带数据分割块C
NALU_TYPE_IDR = 5, byte: 00101 //IDR图像的编码条带
NALU_TYPE_SEI = 6, byte: 00110 //增强信息(SEI)
NALU_TYPE_SPS = 7, byte: 00111 //序列参数集(SPS)
NALU_TYPE_PPS = 8, byte: 01000 //图像参数集(PPS)
NALU_TYPE_AUD = 9, byte: 01001
NALU_TYPE_EOSEQ = 10, byte: 01010
NALU_TYPE_EOSTREAM = 11, byte: 01011
NALU_TYPE_FILL = 12, byte: 01100
#if (MVC_EXTENSION_ENABLE)
NALU_TYPE_PREFIX = 14, byte: 01110
NALU_TYPE_SUB_SPS = 15, byte: 01111
NALU_TYPE_SLC_EXT = 20, byte: 10100
NALU_TYPE_VDRD = 24 byte: 11000 // View and Dependency Representation Delimiter NAL Unit
#endif
} NaluType;
*/
-(BOOL)h264Parse:(NSData *)frameData{
char firstChar;
BOOL isOK = NO;
[frameData getBytes:&firstChar length:1];
if (firstChar == TYPE_SPS_FRAME) {
NSLog(@"TYPE_SPS_FRAME");
isOK = YES;
}else if (firstChar == TYPE_PPS_FRAME){
NSLog(@"TYPE_PPS_FRAME");
isOK = YES;
}else if (firstChar == TYPE_IDR_FRAME){
NSLog(@"TYPE_IDR_FRAME");
isOK = YES;
}else if (firstChar == TYPE_SLICE_FRAME){
NSLog(@"TYPE_SLICE_FRAME");
}else if (firstChar == TYPE_SEI_FRAME){
NSLog(@"TYPE_SEI_FRAME");
}else if (firstChar == TYPE_S_FRAME){
NSLog(@"TYPE_S_FRAME");
isOK = YES;
}
char lastChar;
[frameData getBytes:&lastChar length:1];
if ((lastChar & 0x80) == 0X80) {
NSLog(@"Start Frame......");
}
return isOK;
}
264 nal type相关推荐
- H.264——NAL Unit结构分析
目录 NAL Unit格式 NAL Header nal_unit_type NAL Body Extended Byte String Payload RBSP和SODB **问:RBSP是不是等同 ...
- H.264 NAL层解析(0x00000001,编码,打包,NALU)
文章参考自:https://blog.csdn.net/wudebao5220150/article/details/13810671 1.引言 H.264的主要目标: 1.高的视频压缩比 2.良好的 ...
- nalu模式多slice_H.264中NAL、Slice与frame意思及相互关系
H.264中NAL.Slice与frame意思及相互关系 NAL nal_unit_type中的1(非IDR图像的编码条带).2(编码条带数据分割块A).3(编码条带数据分割块B).4(编码条带数据分 ...
- H.264中帧、片、宏块和NAL的关系
怎么区分H.264视频流的I frame 和 P frame? 我是新手,前些天自己看那H.264规范文档及其他资料寻找答案时, 还有几个概念的关系还没能理解清楚,望达人指点一二: NAL.Slice ...
- 264编码基本概念 FFMpeg的解码流程
下面转自http://topic.csdn.net/u/20081020/16/7156e0b2-dbfb-4b4f-af59-2be04cf9a420.html 的8楼 1.NAL.Slice与fr ...
- H264—帧,片,参数集,NALU等概念
h264是一个编码压缩的格式,可以使用x264库进行编码,源码开放,可下载编译使用. --------------------------------------------------------- ...
- 视频编码,各种参数~sps ,pps ,nalu ,frame ,silce ect....
H.264中NAL.Slice与frame意思及相互关系 NAL nal_unit_type中的1(非IDR图像的编码条带).2(编码条带数据分割块A).3(编码条带数据分割块B).4(编码条带数据分 ...
- h.264语法结构分析
NAL Unit Stream Network Abstraction Layer,简称NAL. h.264把原始的yuv文件编码成码流文件,生成的码流文件就是NAL单元流(NAL unit Stre ...
- (转载)H.264码流的RTP封包说明
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...
最新文章
- redhat7企业版linuxlinux基本操作
- .NET 调用JS:WebBrowser.Document.InvokeScript 方法抛出“指定的转换无效”异常的原因
- Oracle 入面既一d函数
- 什么是 APT 攻击
- 一定是h的方式不对阅读_德国留学 ▏德国高速真要限速350km/h了?!
- 【指南】远程抄表系统(AMR/AMI)中无线模块选型
- 小米登录协议分析_性能测试篇之Loadrunner与ida工具结合完成java vuser协议的脚本...
- silverlight 跨域socket
- 关于SAP的视图类型
- 罗永浩关联直播交易案遭“问停”;中国量子计算原型机“九章”问世;pip 20.3 发布 | 极客头条...
- 2016年linux认证,2016年Linux认证考试要点
- 百度网盘也能BT下载ED2K
- matlab6序列号plp,matlab6.5PLP是什么
- Mac安装PyQt4
- 使用canvas标签绘制圆形、三角形
- 解除隐藏文件cmd命令_用DOS命令怎么取消隐藏文件夹
- [预推免]——中科院计算所
- 【ArcGIS微课1000例】0026:ArcGIS10如何自定义工具条?
- Android 开发技术周报
- 《勋伯格和声学》读书笔记(八):转调
热门文章
- 错题本-----高速公路超速处罚
- clickhouse分析:clickhouse jdbc返回failed to respond问题排查
- c语言实现演唱会歌迷排队买票问题
- loadrunner Lr_类函数之 lr_rendezvous_ex()
- 帮你自动填账号密码的黑科技,安卓用户的专属福利
- 四 web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签
- RH358管理DNS和DNS服务器--使用Unbound配置缓存名称服务器
- 《2021上半年全球DDoS威胁报告》发布,DDoS攻击次数连续四年高速增长
- Java项目:springBoot+Vue汽车销售管理系统
- 如何给二维码动态插入图片