searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

TS基于PCR平滑发送

2024-10-14 09:40:18
4
0

基于ts的pcr控制发送,基本思路如下

1)解析切片的pcr信息,计算前后两个pcr的差值及ts包数,动态给区间内每个ts包赋值pcr值差值;

2)建立绝对时间与PCR映射关系,t0 t1 t2 t3 .... ↔pcr0 pcr1 pcr2 pcr3 ....,某个发送间隔t1-t0 ↔ pcr1-pcr0,即从t0时刻(pcr0)的ts包开始到t1时刻(pcr1)的ts包结束;

3)这样可以保证每个发送间隔内发送的数据贴近真实编码器输出时的时间轴;

相关换算公式:

PCR_base(i) = ((system_clock_frequency * t(i)) / 300) % 2^33
PCR_ext(i)   = ((system_clock_frequency * t(i)) / 1   ) % 300
pcr = ((system_clock_frequency * t(i)) / 300) % 2^33 + ((system_clock_frequency * t(i)) / 1   ) % 300

pcr1 = ((system_clock_frequency * t(1)) / 300) % 2^33 + ((system_clock_frequency * t(1)) / 1   ) % 300
pcr0 = ((system_clock_frequency * t(0)) / 300) % 2^33 + ((system_clock_frequency * t(0)) / 1   ) % 300
delta = pcr1 - pcr0
      = ((system_clock_frequency * t(1)) / 300) % 2^33 + ((system_clock_frequency * t(1)) / 1   ) % 300 - ((system_clock_frequency * t(0)) / 300) % 2^33 - ((system_clock_frequency * t(0)) / 1   ) % 300
      = ((system_clock_frequency * t(1)) / 300) % 2^33 - ((system_clock_frequency * t(0)) / 300) % 2^33 + ((system_clock_frequency * t(1)) / 1   ) % 300 - ((system_clock_frequency * t(0)) / 1   ) % 300

0条评论
0 / 1000
余****东
4文章数
0粉丝数
余****东
4 文章 | 0 粉丝
余****东
4文章数
0粉丝数
余****东
4 文章 | 0 粉丝
原创

TS基于PCR平滑发送

2024-10-14 09:40:18
4
0

基于ts的pcr控制发送,基本思路如下

1)解析切片的pcr信息,计算前后两个pcr的差值及ts包数,动态给区间内每个ts包赋值pcr值差值;

2)建立绝对时间与PCR映射关系,t0 t1 t2 t3 .... ↔pcr0 pcr1 pcr2 pcr3 ....,某个发送间隔t1-t0 ↔ pcr1-pcr0,即从t0时刻(pcr0)的ts包开始到t1时刻(pcr1)的ts包结束;

3)这样可以保证每个发送间隔内发送的数据贴近真实编码器输出时的时间轴;

相关换算公式:

PCR_base(i) = ((system_clock_frequency * t(i)) / 300) % 2^33
PCR_ext(i)   = ((system_clock_frequency * t(i)) / 1   ) % 300
pcr = ((system_clock_frequency * t(i)) / 300) % 2^33 + ((system_clock_frequency * t(i)) / 1   ) % 300

pcr1 = ((system_clock_frequency * t(1)) / 300) % 2^33 + ((system_clock_frequency * t(1)) / 1   ) % 300
pcr0 = ((system_clock_frequency * t(0)) / 300) % 2^33 + ((system_clock_frequency * t(0)) / 1   ) % 300
delta = pcr1 - pcr0
      = ((system_clock_frequency * t(1)) / 300) % 2^33 + ((system_clock_frequency * t(1)) / 1   ) % 300 - ((system_clock_frequency * t(0)) / 300) % 2^33 - ((system_clock_frequency * t(0)) / 1   ) % 300
      = ((system_clock_frequency * t(1)) / 300) % 2^33 - ((system_clock_frequency * t(0)) / 300) % 2^33 + ((system_clock_frequency * t(1)) / 1   ) % 300 - ((system_clock_frequency * t(0)) / 1   ) % 300

文章来自个人专栏
IPTV RTSP NGINX RTMP
4 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0