RTP timestamp и clock rate без подмены UTC
Число RTP timestamp попало в общий преобразователь календарного времени, и журнал показал правдоподобную, но неверную дату. Для голосового IP участка хозяйства нужно знать шкалу медиапотока. Она служит своей задаче и не становится UTC отметкой только потому, что поле называется timestamp и увеличивается в ходе разговора между участниками связи.
Прочитать профиль шкалы
RFC3550 определяет RTP timestamp в контексте медиавремени. (IETF — RFC3550 RTP) RFC3551 описывает профили и clock rates. (IETF — RFC3551 RTP Audio Video Profile) Сохраните фактическое согласование кодека и шкалы. Нельзя автоматически подставить привычную частоту дискретизации другого аудиоформата, если профиль текущего payload задаёт собственное определение и библиотека использует именно его на конкретном участке разговора.
Запишите SSRC и границы наблюдаемого контекста. Разность отметок из разных источников не является готовой длительностью одного аудиофрагмента. Если шлюз преобразует поток, нужно знать, к какому выходу относятся данные. Иначе можно сравнить исходное и пересозданное представление как будто это один неизменный счётчик с общей опорой.
Сопоставить учебный фрагмент
Используйте собственный короткий голосовой сценарий с известной последовательностью. Сохраните RTP поля и фактический профиль. Для вычисления интервалов применяйте подтверждённую шкалу и правила перехода счётчика. Обычное число байтов payload не всегда является прямой мерой длительности, поэтому не заменяйте определение кодека случайным отношением размера пакета и ожидаемой скорости.
Отдельно фиксируйте серверное время приёма. Оно описывает наблюдение на другом этапе и может включать задержку сети и обработки. Нельзя назвать их разность точной задержкой от микрофона до динамика без дополнительной модели и необходимых временных связей, подтверждённых на реальном маршруте медиапотока хозяйства.
Проверить смену контекста
На стенде исследуйте штатный новый вызов и поддерживаемое изменение кодека. Приложение должно обновить используемую шкалу по фактическому профилю, если она изменилась. Сохранённый коэффициент прежнего разговора не должен незаметно применяться к другому формату, создавая неправильную длительность и ложные выводы о потерях либо паузах.
Для календарного сопоставления используйте только предусмотренный механизм и известное качество часов. Если необходимой связи нет, храните медиавремя и время наблюдения раздельно. Не создавайте точную UTC историю произвольным смещением до удобного первого пакета: такая картинка не доказывает физический момент появления каждого фрагмента речи на исходном устройстве.
Увеличить схему
Принять правильную интерпретацию
В паспорте укажите clock rate, источник профиля и ограничения вычислений. Для хозяйства приёмка подтверждает согласованную длительность медиапоследовательности и отдельное происхождение календарных отметок. Это помогает анализировать голосовой тракт без ложных дат и сохраняет различие между RTP шкалой, сетевым приёмом и фактическим воспроизведением речи в проверяемой системе связи бригады.