Рассчитать время события сращивания из pts time в сообщении SCTE 35

Как я видел в документе, pts_time поле часто несет относительную PTS от запуска программы сети. Но я не знаю, как рассчитать время соединения в обычное время (dd/mm/yyyy hh:mm:ss.ms) основываясь на этом pts_time значение.

Например: сообщение SCTE 35 cue out с pts_time значение составляет 58855 МГц. Как я могу рассчитать фактическое время, когда происходит событие соединения?

3 ответа

Из спецификации SCTE-35: ( http://www.scte.org/documents/pdf/standards/Top%20Ten/ANSI_SCTE%2035%202013.pdf):

pts_time - 33-битное поле, которое указывает время в виде тактов тактовой частоты программы 90 кГц. Это поле, когда оно изменено параметром pts_adjustment, представляет время предполагаемой точки соединения

Поэтому это: 58855 / 90000 = 0,6539444444444444 секунд

Вам нужно применить pts_adjustment, и это относительно PTS

Как вы получаете входящее сообщение? Обычно SCTE35 Раздел информации о сращивании содержится внутри чего-то вроде SCTE30Cue Request сообщение.

Если вы изучите раздел 7.4.1 стандарта SCTE30, вы найдете:

time () - - Это время выводится из splice_time() в splice_info_section() SCue 35 Cueing Message посредством Splicer. Если режим соединения компонентов используется в SCTE 35 splice_info_section, time () будет ссылаться на время соединения по умолчанию, подробно описанное в Разделе 7.5.2.1 SCTE 35.

По сути, время UTC, содержащееся в запросе Cue, - это время, которое вы ищете (по крайней мере, так мы его реализовали).

Я написал threefive, это самый высокий в мире парсер SCTE-35.threefive не только с точностью до кадра, но и с точностью до одной миллионной секунды.

Я обсуждал это как минимум 100 раз.

SCTE-35 называет это PTS, но на самом деле это временные метки PCR из видеопотока pcr_pid

33-битное базовое значение PCR (не 40-битное расширенное значение PCR).

1 секунда (33-битное базовое значение PCR / 90k) = 1 секунда времени настенных часов.

Threefive сделает все за вас.

трипять

Другие вопросы по тегам