在SCTE 35消息中从pts时间计算拼接事件的时间

时间:2014-04-15 03:24:07

标签: c++ mpeg2-ts

正如我在文档中看到的那样,pts_time字段通常从网络程序开始携带相对的PTS。但我不知道如何根据此(dd/mm/yyyy hh:mm:ss.ms)值在正常时钟时间pts_time内计算拼接事件的时间。

例如: 带有pts_time值的SCTE 35提示消息为58855 Mhz。如何计算拼接事件发生的实际时间?

2 个答案:

答案 0 :(得分:0)

来自SCTE-35规范:(http://www.scte.org/documents/pdf/standards/Top%20Ten/ANSI_SCTE%2035%202013.pdf):

  

pts_time - 一个33位字段,用于指示程序90 kHz时钟周期的时间。当由pts_adjustment修改时,该字段表示预期拼接点的时间

因此它是:58855/90000 = 0.6539444444444444秒

你需要申请pts_adjustment并且它相对于PTS而言

答案 1 :(得分:0)

您是如何收到收到的消息的?通常,SCTE35拼接信息部分包含在SCTE30 Cue Request消息中。

如果您探索SCTE30 standard的第7.4.1节,您会发现:

  

时间() -    - 此时间源自Splicer的SCTE 35 Cueing Message的splice_info_section()中的splice_time()。   如果在SCTE 35 splice_info_section中使用了组件拼接模式,   time()将引用Section中详述的默认拼接时间   SCTE的7.5.2.1。

基本上,提示请求中包含的UTC时间是你所追求的时间(至少,我们是如何实现它的。)