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不需要设置,什么样的封装格式需要设置,可以做判断,见另一篇文章有提到:编码器的参数设置



相关文章
|
弹性计算 测试技术
阿里云服务器网络收发包PPS是什么意思?5万PPS/10万/20万/80万/100万PPS
阿里云服务器网络收发包PPS是衡量云服务器网络质量的一项重要指标,单位是PPS,PPS是指Packets Per Second,每秒发包数量
6605 0
阿里云服务器网络收发包PPS是什么意思?5万PPS/10万/20万/80万/100万PPS
|
5月前
|
存储 编解码
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
《FFmpeg开发实战》书中介绍了音视频编码历史,重点讲述H.264的成功在于其分为视频编码层和网络抽象层。H.264帧类型包括SPS(序列参数集,含视频规格参数),PPS(图像参数集,含编码参数)和IDR帧(立即解码刷新,关键帧)。SPS用于计算视频宽高和帧率,PPS存储编码设置,IDR帧则标志新的解码序列。书中还配以图片展示各帧结构详情,完整内容可参考相关书籍。
223 7
FFmpeg开发笔记(三十)解析H.264码流中的SPS帧和PPS帧
|
6月前
|
数据挖掘
SPS简单对应分析
SPS简单对应分析
82 0
|
存储 编解码
srs报错:demux SPS/PPS : avc decode sequence header
srs报错:demux SPS/PPS : avc decode sequence header
248 0
srs报错:demux SPS/PPS : avc decode sequence header
|
数据采集 文件存储
给h264帧增加start code和sps/pps
给h264帧增加start code和sps/pps
372 0
给h264帧增加start code和sps/pps
|
存储 编解码 Java
【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )
【Android RTMP】RTMPDump 封装 RTMPPacket 数据包 ( 封装 SPS / PPS 数据包 )
280 0
|
弹性计算
阿里云网络收发包PPS是什么?
阿里云网络收发包PPS是什么?什么是网络收发包PPS?云服务器网络收发包PPS多少合适?网络收发包PPS是指云服务器每秒可以处理的网络数据包数量,单位是PPS即packets per second每秒发包数量。云服务器吧来详细说下阿里云服务器网络收发包PPS性能参数表,以及网络收发包PPS多少合适?
286 0
阿里云网络收发包PPS是什么?
|
弹性计算
网络收发包PPS是什么?PPS性能参数多少合适?
网络收发包PPS是什么?PPS性能参数多少合适?阿里云服务器网络收发包PPS是什么?什么是网络收发包PPS?云服务器网络收发包PPS多少合适?网络收发包PPS是指云服务器每秒可以处理的网络数据包数量,单位是PPS即packets per second每秒发包数量。云服务器吧来详细说下阿里云服务器网络收发包PPS性能参数表,以及网络收发包PPS多少合适?
1754 0
网络收发包PPS是什么?PPS性能参数多少合适?
|
编解码 Android开发 数据格式
【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )(二)
【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )(二)
399 0
【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )(二)
|
数据采集 传感器 编解码
【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )(一)
【Android RTMP】x264 编码器初始化及设置 ( 获取 x264 编码参数 | 编码规格 | 码率 | 帧率 | B帧个数 | 关键帧间隔 | 关键帧解码数据 SPS PPS )(一)
237 0