RTSP 2.0 | Поле общего заголовка Scale

RTSP 2.0 | Поле общего заголовка Scale

Общие заголовки RTSP 2.0 — это заголовки, которые могут использоваться как в запросах, так и в ответах. Общие заголовки RTSP 2.0 перечислены в таблице 1

Общий заголовок «Scale» указывает запрашиваемую или используемую скорость просмотра для воспроизводимого медиаресурса. Значение масштаба 1 указывает на нормальное воспроизведение с нормальной скоростью просмотра вперед. Если не 1, значение соответствует скорости относительно нормальной скорости просмотра. Например, значение 2 указывает вдвое больше нормальной скорости просмотра («ускоренная перемотка вперед»), а значение 0,5 обозначает половину нормальной скорости просмотра. Другими словами, значение 2 имеет увеличение времени контента в два раза больше времени воспроизведения. За каждую секунду прошедшего (настенного) времени будет предоставлено 2 секунды времени контента. Отрицательное значение указывает обратное направление. Для некоторых видов транспорта мультимедиа это может потребовать определенных соображений для последовательной работы; смотри Приложение C.1 из RFC 7826 для описания того, как RTP справляется с этим.

 

Скорость передаваемых данных НЕ ДОЛЖНА быть изменена путем выбора другого значения шкалы. Результирующий битрейт должен быть достаточно близок к номинальному битрейту контента для масштаба = 1. Сервер должен активно манипулировать данными, когда это необходимо для удовлетворения ограничений битрейта. Реализация «скоростных» изменений зависит от сервера и типа носителя. Для видео сервер может, например, доставлять только ключевые кадры или выбранные кадры. Что касается звука, он может масштабировать звук по времени, сохраняя высоту тона, или, что менее желательно, доставлять фрагменты звука или полностью отключать звук.

Сервер и контент могут ограничивать диапазон значений скорости просмотра, которые он поддерживает. Поддерживаемые значения указываются заголовком Media-Properties (раздел 18.29 из RFC 7826). Клиент ДОЛЖЕН только указывать значения запроса, которые должны поддерживаться. Однако, поскольку значения могут изменяться по мере продвижения содержимого, запрошенное значение может перестать быть действительным, когда поступит запрос. Таким образом, неподдерживаемое значение в запросе не генерирует ошибку, а только заставляет сервер выбрать наиболее близкое значение. Ответ ДОЛЖЕН всегда содержать фактическое значение масштаба, выбранное сервером.

Если сервер не реализует возможность ускорения/замедления, он не возвращает заголовок Scale. Сервер, поддерживающий операции масштабирования для PLAY, ДОЛЖЕН указывать это с помощью тега функции «play.scale».

При указании отрицательной шкалы для обратного воспроизведения заголовок диапазона Range ДОЛЖЕН указывать уменьшающийся диапазон, как описано в разделе 18.40 из RFC 7820.

Пример игры в обратном направлении в 3,5 раза выше нормы:

Scale: -3.5
Range: npt=15-10

Синтаксис поля общего заголовка Scale в RTSP 2.0

Scale = "Scale" HCOLON scale-value

Ссылки

Скачать оригинальный документ на английском языке RFC 7826 — Real-Time Streaming Protocol Version 2.0

Читать полную версию документа на русском языке RFC 7826 — Потоковый протокол в реальном времени (RTSP), версия 2.0

Ссылка на синтаксис