h.264码流解析_一个SPS的nalu及获取视频的分辨率
00 00 00 01 67 42 00 28 E9 00
A0 0B 77 FE 00 02 00 03 C4 80
00 00 03 00 80 00 00 1A 4D 88
10 94 00 00 00 01
00 00 00 01为NALu头,其余码流由十六进制转为二进制
67 0110 0111
42 0100 0010
00 0000 0000
28 0010 1000
E9 1110 1001
00 0000 0000
A0 1010 0000
0B 0000 1011
77 0111 01/11
……
94 1001 01//00
说明:
"/"后的码流要对照标准中AnnexE的句法表,是VUI(VideoUsabilityInformation?)的内容,
不懂,不写了,只写SPS部分先。
"//"后面两个0是补齐用的。
NAL层句法:码,值
forbidden_zero_bit(f(1)):0,0
nal_ref_idc(u(2)):11, 3
nal_unit_type(u(5)): 0 0111, 7, SPS
SPS序列参数集的句法:码,值
profile_idc(u(8)) = 0100 0010,66 , baseline profile基础档次
constraint_set0_flag(u(1)):0,0
constraint_set1_flag(u(1)):0,0
constraint_set2_flag(u(1)):0,0
constraint_set3_flag(u(1)):0,0
reserved_zero_4bits(u(4)):0000,0
level_idc(u(8)) :00101000,40 ,级别
seq_parameter_set_id(ue(v)): 1, 0
log2_max_frame_num_minus4(ue(v): 1, 0
MaxFrameNum = 2^(0+4) = 16
pic_order_cnt_type(ue(v)):1, 0
log2_max_pic_order_cnt_lsb_minus4(ue(v)):010 ,1
MaxPicOrderCntLsb = 2^(1+4) = 32
num_ref_frames(ue(v)):010, 1
gaps_in_frame_num_value_allowed_flag(u(1)):0,0
pic_width_in_mbs_minus1(ue(v)): 0000001010000, 2^6-1+16 = 79
PicWidthInMbs = pic_width_in_mbs_minus1 + 1 = 80
pic_height_in_map_units_minus1(ue(v)): 00000101101 ,2^5-1+13 = 44
PicHeightInMapUnits = pic_height_in_map_units_minus1 + 1 =45
frame_mbs_only_flag(u(1)):1,1
direct_8x8_inference_flag(u(1)): 1,1
frame_cropping_flag(u(1)):0,0
vui_parameters_present_flag(u(1)):1 ,1
这个参数为1,说明下面的句法存在
vui_parameters( )
aspect_ratio_info_present_flag(u(1)):1
其中:
pic_width_in_mbs_minus1 : 79
pic_height_in_map_units_minus1 : 44
说的很清楚:
(79+1)x16=1280
(44+1)x16=720
果然是 1280x720 !
h.264码流解析_一个SPS的nalu及获取视频的分辨率的更多相关文章
- 一步一步解析H.264码流的NALU(SPS,PSS,IDR)获取宽高和帧率
分析H.264码流的工具 CodecVisa,StreamEye以及VM Analyzer NALU是由NALU头和RBSP数据组成,而RBSP可能是SPS,PPS,Slice或SEI 而且SPS位于 ...
- H.264码流结构解析
from:http://wenku.baidu.com/link?url=hYQHJcAWUIS-8C7nSBbf-8lGagYGXKb5msVwQKWyXFAcPLU5gR4BKOVLrFOw4bX ...
- 使用FFMPEG类库分离出多媒体文件中的H.264码流
在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流.只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可. 经试验,在分离MP ...
- (转)使用FFMPEG类库分离出多媒体文件中的H.264码流
出自:http://blog.csdn.net/leixiaohua1020/article/details/11800877 在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的 ...
- (转载)H.264码流的RTP封包说明
H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...
- 【视频编解码·学习笔记】6. H.264码流分析工程创建
一.准备工作: 新建一个VS工程SimpleH264Analyzer, 修改工程属性参数-> 输出目录:$(SolutionDir)bin\$(Configuration)\,工作目录:$(So ...
- 海思3518EV200 SDK中获取和保存H.264码流详解
/****************************************** step 2: Start to get streams of each channel. ********** ...
- 视音频数据处理入门:H.264视频码流解析
===================================================== 视音频数据处理入门系列文章: 视音频数据处理入门:RGB.YUV像素数据处理 视音频数据处理 ...
- H.264/H265码流解析
H.264/H265码流解析 一.H.264码流解析 一个原始的H.264 NALU 单元常由 [StartCode] [NALU Header] [NALU Payload] 三部分组成 一个原始的 ...
随机推荐
- 16进制串hex与ASCII字符串相互转换
提供两个函数,方便十六进制串与ASCII 字符串之间的相互转换,使用函数需要注意的是返回的串是在堆上通过 calloc 分配的,所以,记得使用完返回值释放该块,并且将指向该块的指针 =NULL . c ...
- asynDBCenter(修改)
asynDBCenter加入数据库心跳,其实是没有找到更好的方法,看看和以前有什么不同 mongo数据库重练,暂时没有找到好办法,只能这样定时访问 bool asynDBCenter::init(bo ...
- Guava文档翻译之ListenableFuture
ListenableFutureExplained 并发是一个困难的问题,但是使用强大而简单的抽象可以极大地简化并发问题.为了简化事情,Guava使用ListenableFuture继承了JDK的Fu ...
- jstl表达式使用方法
1.jstl.jar servlet.jar支持 2.jsp引入标签库 <%@ taglib prefix="c" uri="http://java.sun.co ...
- 如何使用工具进行线上 PHP 性能追踪及分析?
工作了一两年的 PHPer 大概都多多少少知道一些性能分析的工具,比如 Xdebug.xhprof.New Relic .OneAPM.使用基于 Xdebug 进行 PHP 的性能分析,对于本地开发环 ...
- Oracle index hint syntax
Question: I added an index hint in my query, but the hint is being ignored. What is the correct sy ...
- 搭建网站 discuzx ecshop php
1.http://www.comsenz.com/downloads/install/discuzx下载
- 李洪强iOS开发之Foundation框架—结构体
Foundation框架—结构体 一.基本知识 Foundation—基础框架.框架中包含了很多开发中常用的数据类型,如结构体,枚举,类等,是其他ios框架的基础. 如果要想使用foundation框 ...
- 再谈PCA
其实之前写过PCA相关的博文,但是由于之前掌握的理论知识有限,所以理解也比较浅.这篇博文,我们以另外一种角度来理解PCA看,这里我假设大家对PCA都有一个初步的了解.首先,我们举一个二维空间中 ...
- mysql23个知识点
1.它是一种解释语言:写一句执行一句,不需要整体编译执行. 2.1.没有“ ”,字符串使用‘ '包含 3.一个表只有一个主键,但是一个主键可以是由多个字段组成的 组合键 4.实体完整性:实体就是指一条 ...