(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格式描述:

  1. Program Stream pack header format:

    start code:

    scr:

    速率:

    PSH一般来说最少需要包含14个Byte,扩展长度根据stuffing lenght计算,最长为7个byte(stuffing lenght 只有3位长度),这些字段可以用于存放帧序号等参数。下图为一段码流的PS头:

  2. Partial systen header format :

    start code:

    rate_bound:

    other:


    下图为一段码流的系统头:

  3. Program Stream Map:


    下图为一段PS的map:

  4. PS PES Header:



    PES头如下图所示:

网络流媒体--PS封装格式相关推荐

  1. PS封装格式:GB28181协议RTP传输

    PS封装格式:GB28181协议RTP传输 1. GB28181要求的RTP流格式 2. 头部信息     在安防行业,有个协议是无论如何都要适配的,因为公安监控网络用的就是它,它就是:GB28181 ...

  2. [Linux网络编程]以太网封装格式及相关结构体

    木草山人声明: 本文非教学资料,不涉及理论.文章只是个人的一些笔记,其中的对与错,我不清楚,因为都是从书上.资料中学到的.虽然做过实践测试,但不保证100%正确.能力有限,错误难免,欢迎指正. 以太网 ...

  3. MPEG-TS封装格式

    先讲一下 MPEG 是什么,MPEG 全称 Moving Picture Experts Group (动态影像专家小组),该专家组是联合技术委员会(Joint Technical Committee ...

  4. 流媒体封装格式和流媒体传输协议介绍

    1.流媒体封装格式介绍 一个流媒体文件由音频流和视频流两种数据组成. h264/mpeg4等就是视频流编码格式,视频流一般以帧的单位存在,i帧.p帧.b帧,帧率(frame rate)是每秒显示帧数( ...

  5. 【音视频零基础入门 1】视频播放器原理、流媒体协议、封装格式、视频编码、音频编码

    [音视频零基础入门 1]视频播放器原理.流媒体协议.封装格式.视频编码 一.视频播放器原理 1.1 解协议 1.2 解封装 1.3 解码 1.4 视音频同步 二.流媒体协议 三.封装格式 四.封装格式 ...

  6. FFmpeg之视频封装格式、流媒体协议、视频编解码协议和传输流格式、时间戳和时间基、视频像素数据

    通用视频分析工具:Mediainfo.Elecard StreamEye(视频编码分析工具); 视频封装格式: ********************MP4****************** MP ...

  7. 视频参数(流媒体系统,封装格式,视频编码,音频编码,播放器)对比

    发现了几个视频参数对比的资源,是Wikipedia上的,总结的非常好: 流媒体系统对比: http://en.wikipedia.org/wiki/Comparison_of_streaming_me ...

  8. 网络流媒体(二)————PS流

    1. 简介 每个视频帧分为若干NAL单元(NALU).视频PS格式码流以NALU为单位进行打包.若当前为I帧或P帧的第一个NALU则需加PSH头部.若当前为I帧的第一个NALU还需要加PSM头部.每个 ...

  9. 网络流媒体(四)———TS流

    1. 数字视频压缩MPEG-2标准 MPEG-2是MPEG(Moving Picture Experts Group,运动图像专家组)组织制定的视频和音频有损压缩标准之一,它的正式名称为"基 ...

最新文章

  1. vim介绍,vim颜色显示,vim一般模式下移动光标,vim一般模式下的复制、剪切和粘贴...
  2. LNMP安装常见问题集锦(一)
  3. Windows安装python 虚拟环境,Virtualenv
  4. sql同时操作两列_怎么在两列同时筛选数据库
  5. ThinkPHP之add、save无法添加、修改的解决方案
  6. 基金指数温度怎么算_壁挂炉采暖费怎么算?从两千到八百,内行人教你别再花冤枉钱...
  7. 面试中的智力题及编程实践(二)
  8. pandas(python2) 读取中文数据,处理中文列名
  9. 【水果识别】基于matlab GUI苹果质量检测及分级系统【含Matlab源码 519期】
  10. 如何把照片裁剪成证件照指定尺寸比例?
  11. STM32F4开发-新建工程
  12. 前端实时可视化工具livereload安装和使用
  13. 用CSS实现花里胡哨的按钮切换效果
  14. 阿里云大学诚邀各界”人工智能”专家共建人工智能方向人才培养生态!
  15. 【Luogu P1151】子数整数
  16. 少儿学python真的有用吗_如何看待海淀妈妈们认为Python是儿童才学的低端编程?...
  17. DAVINCI DM3730开发攻略——开发环境篇
  18. python统计有几个单词_统计文件中单词的个数---Shell及python版
  19. 关于java好的交流平台_java玩友交流平台
  20. [python3.6]爬虫实战之爬取淘女郎图片

热门文章

  1. Android看天气预报,Android开源天气预报app - 清新小天气
  2. 2011夏,桂林阳朔龙脊详细攻略 游记
  3. C语言数据类型以及占用比特位数
  4. 使用Anaconda创建虚拟环境,并通过Pycharm使用虚拟环境
  5. 移动前端头部标签(HTML5 head meta)
  6. 【傻瓜版】获取小红书无水印图片
  7. 苹果微信更新不了最新版本_微信再次更新 7.0.5,相同版本,安卓苹果有何不同?...
  8. PMO和PM如何实现从战略解码到项目执行的端到端闭环?
  9. 图的概念和构造方法(Java)
  10. 阿里巴巴常用的12个开发工具