网络流媒体--PS封装格式
(1)PS流基本概念:
- MPEG2-PS是一种多路复用数字音频,视频等的封装容器。PS是Program Stream(程序流或节目流)的简称。程序流将一个或多个分组但有共同的时间基准的基本数据流(PES)合并成一个整体流。它是为可靠稳定的储存媒介如光盘而设计的。
- ES:Elementary Stream(基本码流),是由编码器输出的原始基础码流,它只含有解码器所必需的、并与原始图象或原始音频相接近的信息。由由压缩器输出的用于传送 单路视音频信号的原始码流。ES只包含一种内容的数据流,如只含视频或只含音频等。
- PES:Packetized Elementary Streams (分组的ES),ES形成的分组称为PES分组,是用来传递ES的一种数据结构。PES流是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES流分组、打包、加入包头信息等操作(对ES流的第一次打包)。PES流的基本单位是PES包。PES包由包头和payload组成。
- PS–Program Stream(节目流)PS流由PS包组成,而一个PS包又由若干个PES包组成(到这里,ES经过了两层的封装)。PS包的包头中包含了同步信息与时钟恢复信息。一个PS包最多可包含具有同一时钟基准的16个视频PES包和32个音频PES包。
(2)PS流基本封装格式:
PS用到的基本术语如下:
- PSH:Program Stream pack Header ,是PS包的包头;
- PS system header:Partial system header,系统头,主要;
- PSM:Program Stream Map,节目流映射( PSM)提供节目流中基本流的描述及其相互关系。当在传输流中承载时,此结构将不修正。当 stream_id 值为 0xBC 时, PSM 作为 PES 包存在。
- PES Header:PES Packetized Elementary Streams,PES流的基本单位是PES包。PES包由包头和payload组成。
一般来说一个完整的PS包封装格式如下所示:
- 视频关键帧的封装:
| PS header | PS system header | PS system Map |PES | data | PES | data | PES | data|…| - 视频非关键帧的封装:
| PS header |PES | data | PES | data | PES | data|…|
(3)ps格式描述:
Program Stream pack header format:
start code:
scr:
速率:
PSH一般来说最少需要包含14个Byte,扩展长度根据stuffing lenght计算,最长为7个byte(stuffing lenght 只有3位长度),这些字段可以用于存放帧序号等参数。下图为一段码流的PS头:
Partial systen header format :
start code:
rate_bound:
other:
下图为一段码流的系统头:
Program Stream Map:
下图为一段PS的map:
PS PES Header:
PES头如下图所示:
网络流媒体--PS封装格式相关推荐
- PS封装格式:GB28181协议RTP传输
PS封装格式:GB28181协议RTP传输 1. GB28181要求的RTP流格式 2. 头部信息 在安防行业,有个协议是无论如何都要适配的,因为公安监控网络用的就是它,它就是:GB28181 ...
- [Linux网络编程]以太网封装格式及相关结构体
木草山人声明: 本文非教学资料,不涉及理论.文章只是个人的一些笔记,其中的对与错,我不清楚,因为都是从书上.资料中学到的.虽然做过实践测试,但不保证100%正确.能力有限,错误难免,欢迎指正. 以太网 ...
- MPEG-TS封装格式
先讲一下 MPEG 是什么,MPEG 全称 Moving Picture Experts Group (动态影像专家小组),该专家组是联合技术委员会(Joint Technical Committee ...
- 流媒体封装格式和流媒体传输协议介绍
1.流媒体封装格式介绍 一个流媒体文件由音频流和视频流两种数据组成. h264/mpeg4等就是视频流编码格式,视频流一般以帧的单位存在,i帧.p帧.b帧,帧率(frame rate)是每秒显示帧数( ...
- 【音视频零基础入门 1】视频播放器原理、流媒体协议、封装格式、视频编码、音频编码
[音视频零基础入门 1]视频播放器原理.流媒体协议.封装格式.视频编码 一.视频播放器原理 1.1 解协议 1.2 解封装 1.3 解码 1.4 视音频同步 二.流媒体协议 三.封装格式 四.封装格式 ...
- FFmpeg之视频封装格式、流媒体协议、视频编解码协议和传输流格式、时间戳和时间基、视频像素数据
通用视频分析工具:Mediainfo.Elecard StreamEye(视频编码分析工具); 视频封装格式: ********************MP4****************** MP ...
- 视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比
发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好: 流媒体系统对比: http://en.wikipedia.org/wiki/Comparison_of_streaming_me ...
- 网络流媒体(二)————PS流
1. 简介 每个视频帧分为若干NAL单元(NALU).视频PS格式码流以NALU为单位进行打包.若当前为I帧或P帧的第一个NALU则需加PSH头部.若当前为I帧的第一个NALU还需要加PSM头部.每个 ...
- 网络流媒体(四)———TS流
1. 数字视频压缩MPEG-2标准 MPEG-2是MPEG(Moving Picture Experts Group,运动图像专家组)组织制定的视频和音频有损压缩标准之一,它的正式名称为"基 ...
最新文章
- vim介绍,vim颜色显示,vim一般模式下移动光标,vim一般模式下的复制、剪切和粘贴...
- LNMP安装常见问题集锦(一)
- Windows安装python 虚拟环境,Virtualenv
- sql同时操作两列_怎么在两列同时筛选数据库
- ThinkPHP之add、save无法添加、修改的解决方案
- 基金指数温度怎么算_壁挂炉采暖费怎么算?从两千到八百,内行人教你别再花冤枉钱...
- 面试中的智力题及编程实践(二)
- pandas(python2) 读取中文数据,处理中文列名
- 【水果识别】基于matlab GUI苹果质量检测及分级系统【含Matlab源码 519期】
- 如何把照片裁剪成证件照指定尺寸比例?
- STM32F4开发-新建工程
- 前端实时可视化工具livereload安装和使用
- 用CSS实现花里胡哨的按钮切换效果
- 阿里云大学诚邀各界”人工智能”专家共建人工智能方向人才培养生态!
- 【Luogu P1151】子数整数
- 少儿学python真的有用吗_如何看待海淀妈妈们认为Python是儿童才学的低端编程?...
- DAVINCI DM3730开发攻略——开发环境篇
- python统计有几个单词_统计文件中单词的个数---Shell及python版
- 关于java好的交流平台_java玩友交流平台
- [python3.6]爬虫实战之爬取淘女郎图片
热门文章
- Android看天气预报,Android开源天气预报app - 清新小天气
- 2011夏,桂林阳朔龙脊详细攻略 游记
- C语言数据类型以及占用比特位数
- 使用Anaconda创建虚拟环境,并通过Pycharm使用虚拟环境
- 移动前端头部标签(HTML5 head meta)
- 【傻瓜版】获取小红书无水印图片
- 苹果微信更新不了最新版本_微信再次更新 7.0.5,相同版本,安卓苹果有何不同?...
- PMO和PM如何实现从战略解码到项目执行的端到端闭环?
- 图的概念和构造方法(Java)
- 阿里巴巴常用的12个开发工具