【发布时间】:2014-04-15 03:24:07
【问题描述】:
正如我在文档中看到的,pts_time 字段通常携带从网络程序开始的相对 PTS。但是我不知道如何根据这个pts_time的值来计算正常时钟时间(dd/mm/yyyy hh:mm:ss.ms)中的拼接事件的时间。
例如:
具有pts_time 值的 SCTE 35 提示消息为 58855 Mhz。如何计算拼接事件发生的实际时间?
【问题讨论】:
正如我在文档中看到的,pts_time 字段通常携带从网络程序开始的相对 PTS。但是我不知道如何根据这个pts_time的值来计算正常时钟时间(dd/mm/yyyy hh:mm:ss.ms)中的拼接事件的时间。
例如:
具有pts_time 值的 SCTE 35 提示消息为 58855 Mhz。如何计算拼接事件发生的实际时间?
【问题讨论】:
来自 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 相关
【讨论】:
您如何收到传入的消息?通常SCTE35 Splice info 部分包含在类似SCTE30 Cue Request 消息中。
如果您探索SCTE30 standard 的第 7.4.1 节,您会发现:
时间( ) – - 该时间由拼接器从 SCTE 35 Cueing Message 的 splice_info_section() 中的 splice_time() 导出。 如果在 SCTE 35 splice_info_section 中使用组件拼接模式, time( ) 将参考章节中详述的默认拼接时间 SCTE 35 的 7.5.2.1。
本质上,提示请求中包含的 UTC 时间是您之后的时间(至少,我们是这样实现的)。
【讨论】: