TS切片的相关知识

1.TS(Transport Stream,传输流)容器格式具有以下显著的好处:

  1. 错误恢复能力:TS格式设计之初就考虑到了无线和有线传输中的数据丢失问题,它采用了固定长度的传输包(每包188字节或204字节),每个包都有独立的错误校验码(如循环冗余校验CRC),即使个别数据包丢失或受损,不影响其他数据包的解码,增强了在不稳定传输环境下的鲁棒性。
  2. 实时流适配:TS支持动态带宽分配,允许在不中断流的前提下改变视频和音频的码率,适应实时传输的带宽波动。
  3. 多路复用:TS支持在同一传输流中复用多个音视频流和其他数据流,适合多频道或多视音频流的传输和录制。
  4. 时间戳同步:每个TS包中包含时间戳信息,使得接收端能够准确同步不同流的播放时间,实现音视频同步及平滑切换。
  5. 独立解码:TS格式要求从流的任意位置开始解码都是可行的,无需从头开始,这对于实时流媒体服务尤其重要,用户可以随时加入观看而不必等待完整文件下载完毕。
  6. 易于寻址和分割:由于TS流的固定包结构,很容易对流进行切割或寻址,例如用于广告插入、节目替换或按需提供特定节目片段。综合以上优势,TS格式因其高效、稳定和灵活性,成为数字媒体传输和存储的重要选择。

2.TS的应用

TS格式广泛应用于数字电视广播(如DVB、ATSC)、卫星广播、IPTV、网络流媒体传输(HLS切片)等领域,兼容性强,已经成为行业标准格式。

3.TS包中的时间戳

在MPEG-2 Transport Stream (TS)容器格式中,PTS (Presentation Time Stamp)、DTS (Decoding Time Stamp) 和 PCR (Program Clock Reference) 都是用来同步音视频数据的关键时间戳信息。

  • PTS (Presentation Time Stamp):PTS 表示每个音视频帧的显示时间戳,它告诉解码器何时将解码后的视频帧或音频样本呈现给用户。对于视频来说,PTS决定了画面显示的顺序和时机;对于音频来说,PTS指示了音频样本应当何时播放。
  • DTS (Decoding Time Stamp):DTS 表示每个音视频帧应该被解码的时间戳。对于视频流,特别是在存在B帧(双向预测帧)的编码场景下,DTS用来确保解码器按照正确的顺序解码各个帧(即使是输出顺序与编码顺序不同)。对于音频流,DTS和PTS通常相同,因为音频数据通常是按顺序解码和播放的。
  • PCR (Program Clock Reference):PCR 是一种定时基准信号,存在于TS包中,用来同步接收端和发送端的系统时钟,以确保正确解码和同步播放音视频内容。PCR值周期性地出现在TS流中,通常是与关键帧(如I帧)相关的包中。接收端根据PCR值来调整本地时钟,确保解码和播放的精准同步,尤其是在存在延迟、抖动或速率变化的网络传输环境中。用于同步播放器的系统时钟与流的播放时钟。

总结来说,PTS和DTS用于音视频内容的解码和显示同步,而PCR则负责整个TS流的整体时间同步,确保解码器的系统时钟与编码器的系统时钟保持一致,进而确保整个节目的流畅播放。

4.一个TS切片是如何计算时长的

  1. 获取时间戳:首先,需要从TS切片中提取出相关的时间戳信息,如PTS和PCR,通常是PTS。
  2. 时间戳转换:将提取出的时间戳转换为实际的时间值。这通常涉及到将时间戳的值转换为自UTC时间以来的毫秒数或其他时间单位。
  3. 计算时间差:通过比较两个连续时间戳之间的差异,可以计算出单个切片的持续时间。如果是计算整个TS流的时长,需要找到第一个和最后一个有效时间戳,并计算它们之间的差值
  4. 单位转换:根据需要,将时间差转换为秒、分钟或其他更易于理解的单位。
  • 23
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值