首页 > 编程知识 正文

ts文件是啥,ts是什么文件格式

时间:2023-05-06 02:04:11 阅读:107322 作者:4732

1、从HLS上写下关于HLS的学习笔记,对HLS及m3u8文件的格式参数进行了学习记录。 m3u8文件包含有关视频文件的索引。 这个视频文件是我在这里说的TS文件。 今天学习TS文件的特性和格式。

2、TS概要让我们来看看基本概念。

ES流(基本码流)基本码流可以理解为编码的裸数据;

PES流:对打包的ES流进行分割,并放入PES头部。 PES分组是可变长度的,并且PES头部的最重要部分是显示时间戳(PTS )和解码时间戳(Decode Time Stamp,DTS ),以及PTS和DTS

TS流(Transport Stream ) :传输流。 固定分组长度为188B,TS流的固定分组长度的优点是容易找到帧的开始位置,容易从丢包中恢复,适合于有错误代码的环境。

因此,基于TS流稳定的特性,传输介质中传输的MPEG-2码流基本采用TS码流的包格式。

2.1、TS流固定分组长度188B已经被写入TS文件的概念中。 但是,如果你看在线的TS文件,它会更大。 于是我从网上找了TS文件,进行了分析:

在此,可以看出文件大小为1546112字节,包含8224个数据包,8224*188=1546112。 表示此文件由许多TS软件包组成。

2.2、关于TS格式的介绍也很多。 TS的开头部分是4字节的packet header,后续部分是packet data。

2.2.1、packet header信息说明: packet头信息大小含义sync_byte8bits同步字节(0x47固定值) transport_error_indicator1bit错误指示信息(1:此开始标志(packet小于188字节时需要输入) transport_priority1bit传输优先级标志)1:优先级高) PID13bitsPacket ID号、 唯一号码对应于不同的数据包transport _ scrambling _ control2bid;其他指示加密) adaptation_field_control2biTS附加区域控制continuity

基本上和信息说明中的一致。 请在这里关注PID。 是比较重要的字段。 PID是TS流中唯一的识别标志,Packet Data是什么内容取决于PID。

一些固定Pid :

PID的含义0x 0000 pat0x 0001 cat0x 0002 tsdt0x 0002 EIT,ST2.2.2,pat表PID是当前ts流的Packet区别于其他Packet类型的唯一标识符。 PAT表定义了当前TS流中的所有节目,是根节点,需要从PAT表中查找节目。 PAT表中的PID为0x0000。 现在我们来找一下PAT的pcaket header。

PID:0x0表示可以从PAT表的packet data中获取PMT表的PID。 如果有多个节目,则有多个PID不同的PMT表。

2.2.3、PMT表PMT表所含数据:

1、当前通道中所有视频数据的PID

2 .当前通道中所有音频数据的PID

3、与当前频道相关联的其他数据的PID (例如,用于数字广播、数据通信等等的PID ) )。

上图为PMT的标题信息。

可以从PMT表中获取通道中的PID信息。 我们只要保存视听节目的PID,过滤packet就可以实现。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。