登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
1
2
/ 2 页
下一页
返回列表
首页
›
资源区
›
代码
›
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧 ...
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
[ 复制链接 ]
峰襞副
2025-6-4 18:03:57
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
《FFmpeg开发实战:从零基础到短视频上线》一书的“2.1.1 音视频编码的发展历程”介绍了H.26x系列的视频编码标准,其中H.264至今仍在广泛使用,无论视频文件还是网络直播,H.264标准都占据着可观的市场份额。之所以H.264取得了巨大的成功,是因为它提出了一个新概念,把标准框架划分为两个层面,分别是视频编码层(Video Coding Layer,简称VCL)和网络抽象层(Network Abstraction Layer,简称NAL,也称网络提取层)。其中视频编码层专注如何高效地表达视频的数据内容,而网络抽象层负责格式化数据并提供头信息,以便视频内容能够适应各种环境的数据传输。
每个视频帧都包含至少一个NAL单元,对于I帧、P帧来说,因为内部数据比较多,所以可能会分为多个NAL单元。各帧的第一个NAL单元以起始码0x00000001开头,表示从这里开始是一个新帧;从第二个NAL单元开始,后继NAL单元以0x000001开头,表示其后数据是前面NAL单元的接续。
起始码往后的一个字节,代表当前帧的类型,常见的帧类型有下列六种:
0x67,类型值为7,为SPS帧,表示序列参数集。
0x68,类型值为8,为PPS帧,表示图像参数集。
0x65,类型值为5,为IDR帧,即IDR图像,也称为关键帧。
0x41,类型值为1,为SLICE分片,表示P帧。
0x01,类型值为1,为SLICE分片,表示B帧。
0x06,类型值为6,为SEI帧,表示辅助增强信息。
在上述六种类型的NAL中,前三种是必不可少的,分别详细说明如下。
一、SPS帧
SPS的全称是Sequence Paramater Set,中文叫作序列参数集。SPS保存着视频内容的规格参数,包括视频高度、视频宽度、帧率等等。SPS的详细格式在H.264标准协议中(文档的7.3.2.1部分)规定,内部各字段的取值情况如下图所示。
根据SPS的字段定义,得到视频宽高的计算式子如下:
width = ((pic_width_in_mbs_minus1 +1)*16) - frame_crop_left_offset*2 - frame_crop_right_offset*2;
height= ((2 - frame_mbs_only_flag) * (pic_height_in_map_units_minus1 +1) * 16) - (frame_crop_top_offset * 2) - (frame_crop_bottom_offset * 2);
复制代码
当视频宽度和视频高度均为16的整数倍时,frame_crop_left_offset、frame_crop_right_offset、frame_crop_top_offset、frame_crop_bottom_offset这四个字段值均为0,且frame_mbs_only_flag字段值为1。此时视频宽高的计算式子简化如下:
width = (pic_width_in_mbs_minus1+1)*16;
height = (pic_height_in_map_units_minus1+1)*16;
复制代码
除了视频宽高,通过SPS内部字段还能计算视频的帧率,帧率的计算式子如下:
fps = time_scale / num_units_in_tick;
复制代码
二、PPS帧
PPS的全称是Picture Paramater Set,中文叫做图像参数集。PPS保存着视频帧的编码参数,包括熵编码模式、切片分割类型、初始量化参数、色度量化参数等等。PPS的详细格式在H.264标准协议中(文档的7.3.2.2部分)规定,内部各字段的取值情况如下图所示。
三、IDR帧
IDR的全称是Instantaneous Decoding Refresh,中文叫做立即解码刷新。IDR一定是I帧,但I帧不一定是IDR。一旦出现IDR,就表示清除前面的序列,并且立刻渲染当前的IDR帧。
在每个H.264流的开头,都会出现这样的序列:SPS帧→PPS帧→IDR帧→其余SLICE,并且SPS、PPS、IDR三种帧必定是搭配出现的,缺一不可,如果少了其中任何一帧,都会导致后续视频流解码异常。
更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
FFmpeg
开发
笔记
三十
解析
相关帖子
AI开发-python-langchain框架(1-8-2 缓存机制——验证缓存的效果)
【节点】[ViewVector节点]原理解析与实际应用
Qt 技巧笔记(四)QVector 的底层原理与高级用法(一)
语言开发随笔2
OpenClaw架构解析:AI工程师的实战学习范本
AI驱动的业务开发新范式:将Skills引入工程化实践
回文自动机 PAM 学习笔记
【节点】[Blackbody节点]原理解析与实际应用
AI开发-python-langchain框架(1-9 返回字符串列表-格式解析器)
Qt 技巧笔记 (五) Qt消息框(QMessageBox)的全面使用指南
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
AI开发-python-langchain框架(1-8-2 缓存机制——验证缓存的效果)
1
54
秦欣艷
2026-02-02
安全
【节点】[ViewVector节点]原理解析与实际应用
1
51
篁瞑普
2026-02-02
安全
Qt 技巧笔记(四)QVector 的底层原理与高级用法(一)
1
248
寅斫
2026-02-02
业界
语言开发随笔2
2
926
峰邑
2026-02-02
业界
OpenClaw架构解析:AI工程师的实战学习范本
0
516
仇华乐
2026-02-02
业界
AI驱动的业务开发新范式:将Skills引入工程化实践
2
12
剽达崖
2026-02-02
业界
回文自动机 PAM 学习笔记
0
224
唯棉坜
2026-02-03
安全
【节点】[Blackbody节点]原理解析与实际应用
0
828
姨番单
2026-02-03
业界
AI开发-python-langchain框架(1-9 返回字符串列表-格式解析器)
0
904
墨淳雅
2026-02-03
业界
Qt 技巧笔记 (五) Qt消息框(QMessageBox)的全面使用指南
0
802
百里宵月
2026-02-03
回复
(25)
蝌棚煌
2025-10-8 06:10:33
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个有用。
骆贵
2025-10-16 07:17:59
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
这个好,看起来很实用
挚魉
2025-10-18 00:44:28
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
前排留名,哈哈哈
毋献仪
2025-10-21 00:45:06
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
襁壮鸢
2025-10-29 00:59:51
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
鼓励转贴优秀软件安全工具和文档!
孟清妍
2025-11-1 11:11:14
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
乱蚣
2025-11-20 10:38:42
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
怃膝镁
2025-12-6 05:15:21
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
这个好,看起来很实用
乱蚣
2025-12-7 16:08:46
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
热心回复!
捐催制
2025-12-29 05:37:45
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
不错,里面软件多更新就更好了
仲水悦
2026-1-1 12:01:53
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
用心讨论,共获提升!
类饲冰
2026-1-14 07:43:36
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
喜欢鼓捣这些软件,现在用得少,谢谢分享!
寨亳
2026-1-14 20:23:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
分享、互助 让互联网精神温暖你我
蓬庄静
2026-1-15 01:31:42
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
讲怔
2026-1-18 06:15:33
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
yyds。多谢分享
雨角
2026-1-20 01:54:43
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
吕梓美
2026-1-21 17:49:08
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
热心回复!
尤晓兰
2026-1-21 18:19:59
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
感谢分享,下载保存了,貌似很强大
吕梓美
2026-1-22 12:36:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
下一页 »
1
2
/ 2 页
下一页
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
科技
数据
安全
软件
程序
业界
教程
问答
签约作者
程序园优秀签约作者
发帖
峰襞副
2026-1-22 12:36:35
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845359
4
xiangqian
638210
5
宋子
9937
6
韶又彤
9952
7
闰咄阅
9993
8
刎唇
9995
9
蓬森莉
9919
10
俞瑛瑶
9998
查看更多
今日好文热榜
472
《实时渲染》第2章-图形渲染管线-2.6管线综
561
VS Code 的 Remote-SSH 一直连接不上远程主
55
练习:回家(选票定理Ballot Theorem)
726
产品评测:Visual Paradigm AI 聊天机器人
752
wangeditor5自定义扩展设置图片宽高(px)
849
spring6-工厂设计模式与bean的实例化方式
781
字符编码知多少(二)
667
LLVM Pass快速入门(三):指令替换
8
天翼云全栈赋能OpenClaw,打造会干活的专属
626
DeepK 自动程序修复框架论文——OceanBase
19
再谈模拟退火
36
《让子弹飞》之"插入排序办公室"风云
802
Qt 技巧笔记 (五) Qt消息框(QMessageBox)
657
3台服务器扩展到100台,如何避免数据大迁移
609
最新!银河麒麟v11 kubeadm部署k8s v1.35.0
338
asp.net core如何实现Controller热更新
563
独立站卖家提升转化率的 AI 直播解决方案—
747
PLG log server note
364
快速上手Vibe Coding:10 分钟做出你的第一
174
深度权威测评微信编辑器:2026 年公众号排