ES PES TS

简介: 1.流媒体系统结构 ES:elemental stream 基本数据流; PES:packet elemental stream分组的基本数据流; 然后把PES打包成PS ,TS流,PS:program stream;TS:transport stream; DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。

1.流媒体系统结构

ES:elemental stream 基本数据流;

PES:packet elemental stream分组的基本数据流;

然后把PES打包成PS ,TS流,PS:program stream;TS:transport stream;

DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。
SCR可以理解为解码器应该开始从磁盘读取数据时的时间。

DTS

2.

        在MPEG-2系统中,信息复合/分离的过程称为系统复接/分接,由视频,音频的ES流和辅助数据复接生成的用于实际传输的标准信息流称为MPEG-2传送流(TS:TransportStream)。
        据传输媒体的质量不同,MPEG-2中定义了两种复合信息流:传送流(TS)和节目流(PS:ProgramStream) 
TS流与PS流的区别在于TS流的包结构是固定长度的,而PS流的包结构是可变长度的。 
PS包与TS包在结构上的这种差异,导致了它们对传输误码具有不同的抵抗能力,因而应用的环境也有所不同。TS码流由于采用了固定长度的包结构,当传输误 码破坏了某一TS包的同步信息时,接收机可在固定的位置检测它后面包中的同步信息,从而恢复同步,避免了信息丢失。而PS包由于长度是变化的,一旦某一 PS包的同步信息丢失,接收机无法确定下一包的同步位置, 就会造成失步,导致严重的信息丢失。因此,在信道环境较为恶劣,传输误码较高时,一般采用TS 码流;而在信道环境较好,传输误码较低时,一般采用PS码流。由于TS码流具有较强的抵抗传输误码的能力,因此目前在传输媒体中进行传输的MPEG-2码流基本上都采用了TS码流的包格
        在 数字电视系统中,模拟视音频信号按照MPEG-2的标准,经过抽样、量化及压缩编码形成基本码流ES,基本码流ES是不分段的连续码流。把基本码流分割成 段,并加上相应的头文件打包形成的打包基本码流PES(如图1所示),PES包和包之间可以是不连续的。在传输时将PES包再分段打成有固定长度188B 的传送码流TS或可变长度的节目流包(PS包)。PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁,时MPEG-2数据流互换的逻辑结构。TS 和PS这两种码流分别适应于不同的场合应用,节目流PS适合在相对出错较少的环境下使用,其长度是变化的,而传送流TS能够把多个节目在基于一个或多个时 间标识的基础上构成一个流,传送流适合于出错较多的场合下使用。用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存。通过数据包交织把多个 数据流复用成一个新的数据流。便于解码器按照相应顺序对数据包进行灵活的整理,从而,为数据流同步和复用奠定了基础。MPEG-2的结构可分为压缩层和系 统层,其中ES属于压缩层,PES和TS/PS属于系统层。
        在PES层,主要是在PES包头信息中加入PTS(显示时间标签)和DTS(解码时间标签)用于视频、音频同步。而在TS流中,TS包头加入了PCR(节目时钟参考),用于解码器的系统时钟恢复。在节目流PS包头中加入SCR,它的作用与PCR域相似。
         ES是编码视频数据流或音频数据流,每个ES都由若干个存取单元(AU)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成,1个AU相当于编 码的1幅视频图像或1个音频帧,也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。
        我们知道,MPEG-2对视频的压缩产生I帧、P帧、B帧。把帧顺序I1帧-P4帧-B2帧-B3帧-P7帧-B5帧-B6帧的编码ES,通过打包并在每 个帧中插入PTS/DTS标志,变成PES。在插入PTS/DTS标志时,由于在B帧PTS和DTS是相等的,所以无须在B帧多插入DTS(参见图1)。 而对于I帧和P帧,由于经过复用后数据包的顺序会发生变化,显示前一定要存储于视频解码器的从新排序缓存器中,经过从新排序后再显示,所以一定要同时插入 PTS和DTS作为从新排序的依据。例如,解码器输入的图像帧顺序为I1-P4-B2-B3-P7-B5-B6,但显示时P4一定要在B2、B3之后,在 PST和DTS的指引下,经过缓存器从新排序,以从建视频帧顺序为:I1-B2-B3-P4- P7-B5-B6。 将PES包再打成更小的具固定长度的TS包时在其包头位置加入了PCR和PID(包标识)。PID的值是由用户确定的,解码器根据PID把TS(多节目传 输流)上不同节目的TS包区分出来,以重建原来的ES。另外,TS的包头包含一个4bit的连续计数器,连续计数器可对PID包传送顺序计数,据计数器读 数,接收端可判断是否有包丢失及包传送顺序错误。所以TS的包头具有同步、识别、检错等功能。

目录
相关文章
|
Java 数据库连接 数据库
Mybatis-plus逆向工程使用方法
本文讲解Mybatis-plus逆向工程使用方法。
1127 0
Mybatis-plus逆向工程使用方法
|
机器学习/深度学习 缓存 监控
linux查看CPU、内存、网络、磁盘IO命令
`Linux`系统中,使用`top`命令查看CPU状态,要查看CPU详细信息,可利用`cat /proc/cpuinfo`相关命令。`free`命令用于查看内存使用情况。网络相关命令包括`ifconfig`(查看网卡状态)、`ifdown/ifup`(禁用/启用网卡)、`netstat`(列出网络连接,如`-tuln`组合)以及`nslookup`、`ping`、`telnet`、`traceroute`等。磁盘IO方面,`iostat`(如`-k -p ALL`)显示磁盘IO统计,`iotop`(如`-o -d 1`)则用于查看磁盘IO瓶颈。
841 10
|
7月前
|
计算机视觉
YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率
YOLOv11改进策略【模型轻量化】| 使用 MoblieOne 模块,引入结构重参数化,提高模型检测效率
445 12
|
11月前
|
算法 Go Python
获取指定范围符合正态分布的随机数Go/Python
获取指定范围符合正态分布的随机数Go/Python
153 0
|
监控 安全 搜索推荐
Email发送API的方法?AOKSend和阿里云哪个效果更好?
Email发送API在企业与客户沟通中扮演关键角色,允许自动化和个性化邮件发送。本文比较了AOKSend和阿里云的API:AOKSend以其高送达率、快速发送和详细分析报告脱颖而出,适合中小企业;阿里云则凭借稳定性、大规模发送能力和综合云服务吸引大企业。选择合适API能优化邮件营销效果。
|
测试技术 Linux 网络安全
【好玩的开源项目】使用Docker部署SyncTV视频同步和共享平台
【4月更文挑战第16天】使用Docker部署SyncTV视频同步和共享平台
940 2
|
存储 弹性计算 固态存储
阿里云服务器价格表(2023新版报价)
阿里云服务器1核1G1M优惠价17.49元3个月,251.86元一年、2核4G1M带宽40.98元3个月,590.11元一年、4核8G服务器73.38元3个月,1056.67元一年、8核16G配置138.18元3个月,1989.79元一年、8核32G服务器1M带宽214.50元3个月,3088.80元一年
12275 1
阿里云服务器价格表(2023新版报价)
|
网络协议 安全 Python
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
我们将使用Python的内置库`http.server`来创建一个简单的Web服务器。虽然这个示例相对简单,但我们可以围绕它展开许多讨论,包括HTTP协议、网络编程、异常处理、多线程等。
ts文件解密
ts文件解密
492 0
|
开发者 UED 智能硬件
请简要介绍一下鸿蒙操作系统的特点和优势。
请简要介绍一下鸿蒙操作系统的特点和优势。
2018 0