http://tieba.baidu.com/f?kz=889847982
IP数据报有首部和数据两部分组成的,首部的前一部分是固定长度20字节,是所有IP数据报必须具有的。首部包括:总长度、标识、MF、DF、片偏移。
在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,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的包头具有同步、识别、检错等功能。
pes,ts,ps
ts流是由很多不同种类的包所组成的,这些数据包都是188个字节大小,这188个字节包含两部分,包头和负载,包头包括同步信息,包信息等等,而负载则是传输的数据,而这些负载则可以组成PES流或者私有流等等数据流.举例说,一个TS流包括100个包,其中PSI信息包占20个,PES数据包80个,此TS流中只有一套节目流,不含有私有流,所以从这80个PES包中 的负载连接在一起,就是2个PES流(视频,音频),如果每个PES包的负载长度为100字节,则这两个PES流一共长度为8000个字节.假设其中视频 的PES流长度为6000字节.则视频的6000字节的PES流,是由PES包组成的.PES包没有固定的长度,而是由包头部的数据给出.而PS也是类似 TS流分解的方式,逆向的由PES包封装成包,其中要添加PACKET_HEAD,SYSTEM_HEAD等信息.所以上次所做的程序,并不是 TS->PS的转换,而是从一个复杂的TS流中,过滤去一套节目,构造出一个简单的TS流的过程. mpeg-ts,mpeg-ps的转换 mpeg2文件都是以数据包传递的,同样都是188个字节为一个包,但是作为传输流和节目流,包的组织结构还是不太一样的,作为传输流来说,其包含的包的 种类比较多(其实不是包的种类,而是包含不同用途的数据的种类比较多),比如有PID为0x0000的PAT,EIT,TDT,TOT,还有PMT,等等 不同的表或包.而节目流所包含的就比较少,只要包含PAT,PMT,以及包含音频,视频的PES包就可以了.所以在TS,PS的转换 中,TS->PS的转换比较简单,只要去掉相对没有作用的包,在修改一下PAT,PMT表就可以了. 例如现在我所做的DVB-T的MPEG2存储,就是先得到MPEG2压缩的数据包(完整的包,包含同步等等所有信息,共188个字节),其中包含音频,视 频两种数据包(两者以PID不同,相区分).那么作为PS流存储时,就要虚构出新的PAT,PMT表假如到PS流中,其中PAT,PMT中需要修改的就是 PMT中指向音频,视频流的PID值必须是要存储的音频,视频数据包的PID.这样就完成了TS->PS的转换. 简言之:先对TS进行过滤,保留要存储的节目所对应的音频,视频流,删除所有其他的包.然后虚构一个新的PAT,PMT表,其中音频,视频流的指针必须指向存储的音,视频流的PID.这样就完成了转换. 问题:1.音频,视频同步问题,这两个包应该以什么样的比例交叉传输呢?也就是多少个视频包中间发送一个音频包呢?如果这个比例控制不好,那么就容易造成音,视频不同步. 2.对于我们所虚构的PAT,PMT表应该以什么样的频率发送呢?也就是说发送多少PES包后,发送一次PSI包呢?这个问题似乎影响不大.好象还没有出现播放时的问题. 3.我现在所采用的这种做法,虽然解决了存储,然后播放的问题,但是似乎并没有实现TS->PS的转换,实现的是对TS流的过滤,即是把一个含有多套节目的TS流,转换成一个只含有一套节目的TS流,不知道这样说对不对? 4.还有一个主要问题就是对于TS流中传输PES信息的包来说,其负载信息中的数据,如何组成PES流的呢?应该是通过包头部分的控制信息来明确的,还的好好看看文档.
相关推荐
RTP、RTSP和ES、PES、PS以及TS码流的区别
ES、PES、PS以及TS区别 基本概念 ES ES–Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的PES,...
手写解复用(五):PS(MPEG2)解析
纯C代码实现PS(MPEG2)码流的解复用
ES,PS,TS 互转及RTP发送
MPEG4,H264,多种音频,ES,PS,TS 互转及RTP发送
MPEG PS流格式
在原链接基础上有补充。http://blog.youkuaiyun.com/chen495810242/article/details/39207305 RTP荷载PS流   &am
USB2.0信号完整性测试之眼图
名称线缆颜色引脚描述红色绿色白色GND黑色。
【Linux】实际项目应该如何完成?--安防监控系统项目的总结
到目前为止我也做个5、6个嵌入式项目,但以往都是从零开始自己做,也就是毫无计划,想到那里做那里,有想法就会去实现,就这样导致我碰到了很多坑,也消耗了我许多时间,当然,不是说这样不好,因为在其中我也得到了一个很好的锻炼与练习,但是这不适用于在工作中去这样做。...
总结TS中的pcr、dts、pts问题
对于PTS_DTS_flags的重设 此字段在PES头语法中,标识PTS与DTS在PES分组首部的出现情况,当出于某种需求要对此标志位进行修改,例如由‘3’ 修改为‘2’,即删除DTS,但仅仅修改了这个标志位并没有达到“删除DTS”的目的。虽然VLC等播放器可以正常解码且不报任何错误,在一些严格的解码器上,会无法识别新生成的数据。例如elecard分析软件会报告“无法检测流”,ipad播放会
QMT量化交易实战:如何用通达信预警数据自动买卖股票(附完整Python代码)
本文详细介绍了如何利用QMT平台结合通达信预警数据实现股票自动化交易,提供完整的Python代码实现。通过实时监控通达信预警板块文件,系统自动执行买卖操作,提升交易效率。文章涵盖系统架构设计、数据对接、信号处理、订单执行等核心模块,适合量化交易初学者和通达信用户参考实践。
SMS流媒体服务器-MPEG-PS流的深度解析
ps流的解析,只要按照标准文档对照16进制的流数据,基本都能看的明白。但是实际项目中会碰到各种各样的问题。本文将对如何高效的解析出音视频数据发表一下个人的看法。介绍一下本人的开源流媒体,点个star,有兴趣一起开发的朋友也可以联系本人:SimpleMediaServer(流媒体): 旨在开发一个可商用的,功能丰富、高性能、高可扩展的流媒体服务。支持RTSP、RTMP、WEBRTC、GB28181、HTTP-FLV、HLS、JT1078等协议。各个协议可以单独剥离出来,相互独立;也可以互相转换协议。
卫星载荷应用方案
本文将从技术和应用层面探讨卫星载荷的应用方案,分析各个领域的特点和挑战,以期为卫星载荷的应用提供一定的指导和参考。卫星载荷应用方案涵盖了通信、地球观测、气象预报、导航定位等诸多领域在每一个领域中,都存在着不同的技术挑战和应用需求。随着技术的进步和需求的变化,卫星载荷应用方案将不断发展和完善,为人类社会的进步和发展做出更大的贡献。用户可以通过接收多颗卫星的信号,计算自身的位置和速度信息。在覆盖扩展方面,可以采用多星座、MEO、GEO 等不同轨道高度的卫星布局,结合卫星的特点和应用需求,实现覆盖范围的扩展。
英飞凌ADS开发环境搭建全流程:从安装到第一个程序烧录
本文详细介绍了英飞凌ADS开发环境搭建的全流程,包括环境准备、ADS安装与配置、MemTools烧录技巧等关键步骤。针对嵌入式开发者,特别提供了从安装到第一个程序烧录的实战指南,涵盖常见问题解决方案和优化建议,帮助开发者快速上手英飞凌AURIX系列微控制器的开发工作。
ES,PS,TS解释
首先,ES相关概念: 模拟复合视频信号经过色解码得到模拟分量信号 (Y,Cr,Cb),分量信号再通过13。5MHz的频率4:2:2取样、10bit量化,得到270Mbps的数字码流,然后按照13818-2规定的 语法结构对其进行压缩、编码,得到视频序列。此视频序列做为视频原始流(ES)按照13818-1定义的语法结构打包成视频PES(已分组的原始流),与 同一节目的音频PES进行复用。当用在
核心组件大换血:Backbone与Neck魔改篇:YOLO26魔改Neck:引入BiFPN(双向特征金字塔),多尺度融合能力飙升
本文深入解析了YOLO26目标检测模型中Neck部分的优化策略,重点探讨了BiFPN(双向特征金字塔网络)的原理与实现。文章首先指出YOLO26原生FPN+PAN结构在多尺度特征融合上的局限性,特别是在小目标检测和边缘部署场景中的性能瓶颈。随后系统梳理了Neck网络的演进历程,从FPN、PANet到BiFPN和ASFF,详细对比了各架构的特点。核心部分展示了如何将BiFPN引入YOLO26,包括可学习权重融合、双向跨尺度连接等关键技术实现,并提供了PyTorch代码示例。本文为需要提升小目标检测性能或优化边
流媒体基础知识TS流 PS流 ES流区别
IP数据报有首部和数据两部分组成的,首部的前一部分是固定长度20字节,是所有IP数据报必须具有的。首部包括:总长度、标识、MF、DF、片偏移。 数字信号实际传送的是数据流,一般数据流包括以下三种: (1)ES流(Elementary Stream):也叫基本码流,包含视频、音频或数据的连续码流。 (2)PES流(Packet Elementary Strea
C# WPF上位机开发(利用tcp/ip网络访问plc)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个时候如果有一个库可以帮助我们和plc设备进行modbus通信,那就非常方便的。目前NuGet下关于modbus的函数库还是有一些的,比如EasyModbus。
2026年OPPO嵌入式岗位面试题带详细答案
本文总结了OPPO嵌入式岗位面试的核心考点,涵盖硬件驱动、系统启动、Linux内核开发等7大模块共34道典型题目。重点解析了SPI通信协议、中断处理、U-Boot启动流程、Linux驱动开发等关键技术,突出硬件调试与工程实践能力考核。题目设置贴合实际岗位需求,适合校招与社招驱动开发岗位应聘者系统复习,帮助掌握嵌入式开发的核心知识与面试要点。
TS系列一:TS流、PS流、PES流和ES流
我们知道,数字电视机顶盒接收到的是一段段的码流,我们称之为TS(Transport Stream,传输流), 每个TS流都携带一些信息,如Video、Audio以及我们需要学习的PAT、PMT等信息。 因此,我们首先需要了解TS流是什么,以及TS流是怎样形成、有着怎样的结构。
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
流媒体中ES流、PS流 、TS流怎么理解
流媒体
OV9734 DATASHEET,完整规格书
OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等
NTscan扫描工具
ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。
关于ES、PES、PS以及TS码流
一、基本概念 1)ES ES--Elementary Streams (原始流)是直接从编码器出来的数据流,可以是编码过的视频数据流(H.264,MJPEG等),音频数据流(AAC),或其他编码数据流的统称。ES流经过PES打包器之后,被转换成PES包。 ES是只包含一种内容的数据流,如只含视频或只含音频等,打包之后的PES也是只含一种性质的ES,如只含视频ES的
WINCC7.3破解文件
WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!
TS流 PS流 ES流
IP数据报有首部和数据两部分组成的,首部的前一部分是固定长度20字节,是所有IP数据报必须具有的。首部包括:总长度、标识、MF、DF、片偏移。 数字信号实际传送的是数据流,一般数据流包括以下三种: (1)ES流(Elementary Stream):也叫基本码流,包含视频、音频或数据的连续码流。 (2)PES流(Packet Elementar...
MPEG-2 之ES,PES,PS以及TS流的介绍
MPEG-2作为一个数字视音频的一种压缩标准一被广泛的运用于多媒体、数字存储及数字传输(如数字电视)等领域。其规范主要包括音频编码、视频编码、系统、数字存储规范、复用和测试等几个部分。其中音、视频和系统(音视频同步)为主要部分,解决音视频的压缩问题并提供一种不同码流间的复用规范。 流简介 “TS流”和“PS流”是经过MPEG-2系统压缩处理后的两种复合信息流。 根据传输媒体的质量不同,MPE...
1万+



被折叠的 条评论
为什么被折叠?



