h264中的pps和sps

简介: h264中的pps和sps

首先pps和sps是h264编码时才关注的问题。

在编码中使能CODEC_FLAG_GLOBAL_HEADER后:

h264码流,第一帧是sps帧

第二帧是pps帧

第三帧是IDR帧

此时是用avformat_write_header()发送包时填充的sps和pps,把它填充到AVFormatContext->streams[h264Index]->codec->extradata中发送。

解码端就能在AVCodecContext中的extradata和extradata_size得到对应的音视频头信息。

/**
 * Place global headers in extradata instead of every keyframe.
 */
#define AV_CODEC_FLAG_GLOBAL_HEADER   (1 << 22)


根据AV_CODEC_FLAG_GLOBAL_HEADER注释可知,如果不加入此设置,那么就会在每个关键帧加入pps和sps.

flv封装格式时候需要设置AV_CODEC_FLAG_GLOBAL_HEADER,mpegts不需要设置,什么样的封装格式需要设置,可以做判断,见另一篇文章有提到:编码器的参数设置



相关文章
|
人工智能 前端开发 Cloud Native
春天见,第 20 届 D2 如期而至
第20届D2技术大会将于2026年3月21日在杭州阿里总部举行,主题为“AI 新”,聚焦AI如何重塑终端技术与开发未来。大会设AI Coding、创新体验、智能测试等七大专场,探讨AI驱动下的技术变革与实践落地,诚邀开发者共赴这场面向未来的深度交流盛会。
|
6月前
|
网络协议 网络安全 网络虚拟化
DNS 隧道
DNS隧道利用DNS协议在53端口传输非DNS流量,如HTTP数据。虽有合法用途,但常被攻击者用于恶意目的,伪装出站流量,窃取数据或建立命令与控制通道,隐蔽性强,威胁网络安全。
|
安全 关系型数据库 MySQL
Mysql 8.0 安装和使用遇到的各种问题(持续更新)
MySQL 8.0 安装到 服务器时,遇到的一些问题;安装、远程访问、密码编码格式不对、大小写区分、密码重置、修改密码 等操作
|
存储 编解码
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
《FFmpeg开发实战》书中介绍了音视频编码历史,重点讲述H.264的成功在于其分为视频编码层和网络抽象层。H.264帧类型包括SPS(序列参数集,含视频规格参数),PPS(图像参数集,含编码参数)和IDR帧(立即解码刷新,关键帧)。SPS用于计算视频宽高和帧率,PPS存储编码设置,IDR帧则标志新的解码序列。书中还配以图片展示各帧结构详情,完整内容可参考相关书籍。
1597 7
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
串口通讯工具minicom-在银河麒麟操作系统下的使用
在银河麒麟OS中调试神州数码网络设备,如CS6200交换机,使用`minicom`工具。连接CONSOLE线,打开终端,用`sudo minicom -s`进入配置。设置串口为`ttyUSB0`(用`ls /dev`查找),波特率设为115200。保存配置后,开始设备配置。
串口通讯工具minicom-在银河麒麟操作系统下的使用
|
安全 算法 Java
扩散模型在社交网络分析中的实际应用案例
扩散模型在社交网络分析中的实际应用案例
|
存储 API Kotlin
Kotlin中的List集合
Kotlin中的List集合
355 2
|
安全 网络安全
jsch 报错 no matching host key type found. Their offer: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha>问题处理方法
【5月更文挑战第10天】jsch 报错 no matching host key type found. Their offer: ssh-rsa,ssh-dss,ecdsa-sha2-nistp256,ecdsa-sha>问题处理方法
1347 0
|
C语言 C++ Windows
windows下编译protobuf
windows下编译protobuf
828 0