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...

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 !

目录
相关文章
|
机器学习/深度学习 人工智能 编解码
哲学家解析Sora本质,AI视频离世界模拟器还有多远?
【2月更文挑战第24天】哲学家解析Sora本质,AI视频离世界模拟器还有多远?
271 2
哲学家解析Sora本质,AI视频离世界模拟器还有多远?
|
人工智能 搜索推荐 API
Cobalt:开源的流媒体下载工具,支持解析和下载全平台的视频、音频和图片,支持多种视频质量和格式,自动提取视频字幕
cobalt 是一款开源的流媒体下载工具,支持全平台视频、音频和图片下载,提供纯净、简洁无广告的体验
2223 9
Cobalt:开源的流媒体下载工具,支持解析和下载全平台的视频、音频和图片,支持多种视频质量和格式,自动提取视频字幕
|
11月前
|
缓存 监控 搜索推荐
【实战解析】smallredbook.item_get_video API:小红书视频数据获取与电商应用指南
本文介绍小红书官方API——`smallredbook.item_get_video`的功能与使用方法。该接口可获取笔记视频详情,包括无水印直链、封面图、时长、文本描述、标签及互动数据等,并支持电商场景分析。调用需提供`key`、`secret`和`num_iid`参数,返回字段涵盖视频链接、标题、标签及用户信息等。同时,文章提供了电商实战技巧,如竞品监控与个性化推荐,并列出合规注意事项及替代方案对比。最后解答了常见问题,如笔记ID获取与视频链接时效性等。
|
数据采集 XML API
深入解析BeautifulSoup:从sohu.com视频页面提取关键信息的实战技巧
深入解析BeautifulSoup:从sohu.com视频页面提取关键信息的实战技巧
|
数据采集 JSON 数据格式
深入解析:使用Python爬取Bilibili视频
本文介绍了如何使用Python编写脚本自动化下载Bilibili视频。通过requests等库获取视频和音频URL,使用ffmpeg合并音视频文件,最终实现高效下载。注意遵守网站爬虫政策和法律法规。
1956 4
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
1200 1
|
机器学习/深度学习 编解码 算法
深入解析MaxFrame:关键技术组件及其对视频体验的影响
【10月更文挑战第12天】随着流媒体服务和高清视频内容的普及,用户对于视频质量的要求越来越高。为了满足这些需求,许多技术被开发出来以提升视频播放的质量。其中,MaxFrame是一种旨在通过一系列先进的图像处理算法来优化视频帧的技术。本文将深入探讨构成MaxFrame的核心组件,包括运动估计、超分辨率重建以及时间插值算法,并讨论这些技术如何协同工作以改善视频播放效果。
273 1
|
存储 编解码
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
《FFmpeg开发实战》书中介绍了音视频编码历史,重点讲述H.264的成功在于其分为视频编码层和网络抽象层。H.264帧类型包括SPS(序列参数集,含视频规格参数),PPS(图像参数集,含编码参数)和IDR帧(立即解码刷新,关键帧)。SPS用于计算视频宽高和帧率,PPS存储编码设置,IDR帧则标志新的解码序列。书中还配以图片展示各帧结构详情,完整内容可参考相关书籍。
1114 7
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
|
存储 编解码 API
【解码与渲染 异常情况】深入解析视频中绿色竖线现象(一)
【解码与渲染 异常情况】深入解析视频中绿色竖线现象
808 6
【解码与渲染 异常情况】深入解析视频中绿色竖线现象(一)
|
数据采集 API C#
网页解析高手:C#和HtmlAgilityPack教你下载视频
使用C#和HtmlAgilityPack解析小红书网页,下载其视频内容。文章涵盖了解析网页、获取视频链接、C#实现、HtmlAgilityPack简化解析、代理IP确保下载稳定及多线程提高下载效率。提供的代码示例展示了如何设置代理和多线程下载视频。实验结果显示,该方法能有效、高效地下载小红书视频。
403 5
网页解析高手:C#和HtmlAgilityPack教你下载视频

推荐镜像

更多
  • DNS