PCR正常跳变的处理


在一个TS流之中,不同节目的PCR常常是不同的,也就是不连续的。

比如,在电视剧播放的当中,插播一段广告。由于电视剧和广告的PCR常常是不连续的,并且可能存在巨大跳跃。

于是这个时候,如果当前系统仍然使用PCR进行同步本地STC, 此时,STC会有一次明显的跳跃.

可能产生的后果:
由于电视剧节目一部分原始数据还在TS BUFFER里面,等待和STC时间相等后再进行解码;
还有一部分解码后数据在video显存里面,等待和时间STC时间相等后再进行显示.
根据PCR同步的原理: 将使用PCR直接同步本地STC. 这个时候,一旦用广告的PCR同步本地STC,那么上面提到的两部分数据,所等待的解码和显示的时间将不会来临。
结果就是: 电视剧后面的一点尾巴没有播放出来。至于尾巴具体长度,取决于两个BUFFER中数据量的多少。
当没有其他STB来做对比的情况下,客户没感觉到任何差别;一旦有另外的处理完善的STB作为对比,此问题将浮出水面。

如何解决?
使用两个STC来处理这种case。
当PCR产生突变后,电视剧仍然使用之前的STC,直到所有数据被解码和显示,但广告将使用新的STC来解码和显示。


关于STC的一些说明:
可以只有一个硬件STC,再次基础上,可虚拟出若干逻辑软件STC.
软件STC计数器数值 = 硬件STC计数器数值 + OFFSET
所谓同步本地STC,其实就是修改软件STC的OFFSET的过程。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值