视频流PS,PS封装H264
出处: ISOIEC 13818-1
PS流:
PS流由PSGOP组成,每个PSGOP是由I帧起始的多帧集合,每个GOP之间没有相互依赖信息,可以剪切拼接。
| PSGOP0 | PSGOP1 | PSGOP2 | PSGOP3 | PSGOP4 | ...... |
PSGOP:
PSGOP由一个或多个PS包组成,一个PS包包含一个PSH(PS Header)和若干个PES(Packetized Elementary Stream,ps流数据的基本单位)包,PSGOP的第一个PS包应该在包头PSH后跟一个PSM(program stream map,节目流映射)包。
PS包格式(PSM只有是PSGOP的第一个PS才需要):
| PSH | SystemHeader | PSM | PES0 | PES1 | PES2 | PES3 | PES4 | ...... |
PES包格式:
| PES header | stream raw data |
PSH格式:
| pack_start_code(32) | "01"(2) |
pack_start_code: 32bit,定义ps流的开始,值为0x000001BA
"01": 2bit,固定为01
system_clock_refference
system header PS流的系统头:
| system_header_start_code(32) | header_length(16) |
system_header_start_code: 32bit 0x000001BB
header_length: 16bit,系统头长度
PES包详细格式:
| packet_start_code_prefix(24) | stream_id(8) | PES_packet_length(16) | other_info_and_data |
packet_start_code_prefix:24bit ,包起始标记,值固定为0x000001;
stream_id: 8bit
PES_packet_length: 16bit,PES包的长度
other_info_and_data:的值跟stream_id的值相关
PS封装H264:
典型的H264 I帧PS包 : | PSH | SystemHeader | PSM | PES of SPS | PES of PPS | PES of SEI | PES0 of I frameData | PES1 of I frameData | ...... | PESn of I frameData |
典型的H264 P/B帧PS包 :| PSH | PES0 of P/B frameData | PES1 of P/B frameData | ...... | PESn of P/B frameData |
视频流PS,PS封装H264的更多相关文章
- 关于对H264码流的PS的封装的相关代码实现
1.写在开始之前: 最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,然后也试着封装了下ps流,结果也能通过测试正常预览了,当然,其中开发读文档的头疼,预览花屏,卡帧的事情都有遇到,当时慢慢的 ...
- ps流提取H264并解码播放
因为需要从海康ps流中提取H264数据并进行解码播放,才有了这篇文章.因为是视频编解码领域的纯入门新手,个别理解或者方法有误,需要自行判断,不过相关方法已经测试通过,对于 像我这样的新手还是有一定的借 ...
- 流媒体ts/ps流封装/分析
1.TS 1) 感谢星辰同学,还热乎着,
- RTP封装h264
网络抽象层单元类型 (NALU): NALU头由一个字节组成,它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+ ...
- 使用ffmpeg获取视频流后如何封装存储成mp4文件
int main(int argc,char *argv[]) 02 { 03 AVFormatContext *pFormatCtx; 04 int i,videoStream; 05 AVC ...
- RTP协议全解析(H264码流和PS流)
转自:http://blog.csdn.net/chen495810242/article/details/39207305 写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个 ...
- (转)RTP协议全解(H264码流和PS流)
写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希 ...
- RTP协议全解(H264码流和PS流)
写在前面:RTP的解析,网上找了很多资料,但是都不全,所以我力图整理出一个比较全面的解析, 其中借鉴了很多文章,我都列在了文章最后,在此表示感谢. 互联网的发展离不开大家的无私奉献,我决定从我做起,希 ...
- EasyDarwin云平台:EasyCamera开源摄像机接入海康威视摄像机PS流转ES流
本文转自EasyDarwin开源团队成员Alex的博客:http://blog.csdn.net/cai6811376 海康威视使用PS流封装H.264流,EasyDarwin云平台支持ES流.当我们 ...
随机推荐
- Python 语法1
函数的定义: """ def 函数名(): 函数内容,函数内容, 函数内容,函数内容, """ ////////////////////// ...
- QRCode.js生成二维码
QRCode的GitHub地址: https://github.com/KeeeX/qrcodejs 该版本解决了主版本(https://github.com/davidshimjs/qrcodejs ...
- logback-MDC日志唯一标识
自定义LogbackFilter: import org.slf4j.MDC; import javax.servlet.*; import javax.servlet.annotation.WebF ...
- IIS Express服务器遇到400/503/IIS Express Error的解决办法
目前脑子比较乱.下午想让室友从局域网中它的主机访问我电脑上自己部署的一个网站,可是接二连三遇到了400,503,...等问题,弄得有点头大.还好现在解决了.下面记录一下遇到的问题: (不知道为什么图片 ...
- http error: "request body stream exhausted"
'request body stream exhausted' after authentication challenge #661 Closed aburgel opened this issu ...
- Facade 外观(结构型)
Facade 外观(结构型) 一:描述: Facade 外观模式是为子系统至客户端之间提供简单的一致的接口,来降低耦合度. 二:模式图 三:实现代码简单例子: 1.业务模块: 2.外观接口: 3.客户 ...
- iOS TabelViewCell 删除 编辑 插入
/** TableView 进入或退出编辑状态(TableView 方法). */ - (void)setEditing:(BOOL)editing animated:(BOOL)animate{ / ...
- DG Switch over
DG切换迁移Switch over切换文档 本篇文档,整体结构:1.切换前检查确认2.DG切换角色操作3.切换后检查确认 目录:一.切换前检查确认1.数据库版本2.DG架构,IP信息及切换角色前后3. ...
- 爱因斯坦求和约定 (Einstein summation convention)
- EtherCAT主站对PHY有要求?
/********************************************************************** * EtherCAT主站对PHY有要求? * 说明: * ...