Поделиться через


Использование сдвигов по времени и выходных данных потоковой трансляции для воспроизведения видео по запросу

Логотип Служб мультимедиа версии 3


Предупреждение

Поддержка Служб мультимедиа Azure будет прекращена 30 июня 2024 г. Дополнительные сведения см. в руководстве по прекращению поддержки AMS.

В службах мультимедиа Azure объект выходных данных потоковой трансляции ведет себя аналогично цифровому видеозаписывающему устройству, которое будет перехватывать и записывать динамический поток в ресурс в учетной записи служб мультимедиа. Записанное содержимое сохраняется в контейнере, определенном параметром Ресурс (контейнер находится в учетной записи хранения Azure, присоединенной к вашей учетной записи). Выходные данные потоковой трансляции позволяют управлять свойствами исходящей потоковой трансляции, например, тем, какая ее часть хранится в архивной записи (объем DVR в облаке), или тем, могут ли зрители начать просмотр трансляции. Архив на диске — это циклическое архивное "окно", которое пропускает только тот объем содержимого, который указан в свойстве archiveWindowLength выходных данных потоковой трансляции. Содержимое, выходящее за рамки этого окна, автоматически удаляется из контейнера хранилища и не подлежит восстановлению. Значение параметра archiveWindowLength представляет собой интервал времени в формате ISO-8601 (например, PTHH:MM:SS), который указывает емкость DVR. Это значение можно задать в диапазоне от одной минуты до 25 часов.

Отношения между трансляцией и соответствующими выходными данными потоковой трансляции похожи на традиционное телевещание, когда канал (событие трансляции) передает постоянный поток видео, а запись (выходные данные трансляции) ограничена определенным периодом времени (например, вечерние новости с 18:30 до 19:00). Настроив передачу потока данных в событие потоковой трансляции, можно запустить событие потоковой передачи, создав ресурс, выходные данные потоковой трансляции и указатель потоковой передачи. Выходные данные потоковой трансляции запустят архивирование потока и предложат его зрителям через конечную точку потоковой передачи. В событии потоковой трансляции можно создать несколько объектов выходных данных потоковой трансляции (до трех) с разными длиной и параметрами архивации. Сведения о рабочем процессе потоковой трансляции в реальном времени см. в разделе Общие действия.

Использование DVR во время события

В этом разделе описывается использование DVR во время события для управления тем, какие части потока будут доступны для "перемотки назад".

Значение archiveWindowLength определяет, насколько далеко зритель может отмотать назад относительно текущей позиции вещания. Значение archiveWindowLength также определяет, как долго могут увеличиваться манифесты клиентов.

Предположим, что вы выполняете потоковую передачу футбольного матча, у которого ArchiveWindowLength занимает всего 30 минут. Зритель, который начинает смотреть событие спустя 45 минут после начала игры, может отмотать назад не далее, чем к отметке в 15 минут. Ваши выходные данные потоковой трансляции для игры будут действовать до тех пор, пока трансляция не будет остановлена. Содержимое, которое находится за пределами параметра archiveWindowLength, постоянно удаляется из хранилища и после этого его нельзя восстановить. В этом примере отрезок видео между началом события и отметкой в 15 минут будет удален из вашего DVR и из контейнера в хранилище BLOB-объектов для компонента ресурса. Этот архив невозможно восстановить, и он удаляется из контейнера в хранилище BLOB-объектов Azure.

Событие трансляции поддерживает одновременную потоковую трансляцию для трех экземпляров выходных данных потоковой трансляции, то есть из одного потока можно создать не более 3 записей или архивов одновременно. Такая поддержка позволяет публиковать и архивировать различные части события по мере необходимости. Предположим, что вам необходимо круглосуточно транслировать содержимое по линейному веб-каналу в реальном времени и создавать "записи" разных программ, чтобы клиенты могли по запросу просмотреть пропущенное содержимое. Для этого сценария вам нужно сначала создать основной компонент выходных данных с коротким периодом архивации (1 час или меньше) — это основной поток, к которому подключаются клиенты. Для этого компонента выходных данных потоковой трансляции вы создадите указатель потоковой передачи и публикуете его в приложении или на веб-сайте, обозначив как веб-канал "Потоковой трансляции". Запустив событие потоковой трансляции, вы можете программными средствами создавать дополнительный, параллельный компонент выходных данных потоковой трансляции в начале программы (или на 5 минут раньше, чтобы оставить запас на небольшие сдвиги, который вы удалите позднее). Этот дополнительный компонент выходных данных потоковой трансляции можно удалить через 5 минут после окончания программы. С помощью дополнительного компонента "Ресурс" можно создать указатель потоковой передачи, чтобы опубликовать эту программу в качестве ресурса по запросу в каталоге приложения. Этот процесс можно повторять любое количество раз для других программ или особо важных моментов, которые вы хотите предоставить в качестве видео по запросу. При этом веб-канал "потоковой трансляции" из первого компонента выходных данных продолжает транслировать содержимое по линейному веб-каналу.

Использование rewindWindowLength

Вы также можете использовать свойство rewindWindowLength для выходных данных потоковой трансляции, чтобы управлять количеством времени, когда зритель может возвращаться назад во время трансляции. Этот параметр также помогает уменьшить размер манифеста, доставленного клиенту по сети во время потоковой трансляции. Это способствует более эффективной потоковой трансляции и сокращению использования памяти в клиенте. После остановки выходных данных потоковой трансляции для архивного видео будет использоваться исходная длина окна архива, описанная выше.

После завершения потоковой передачи можно получить доступ к архивному файлу в ресурсе, определенном свойством archiveWindowLength для выходных данных потоковой трансляции. Это позволяет задать другую длительность архива, отличную от предыдущей продолжительности скользящего окна DVR, видимой проигрывателю.

Это будет очень полезно, если вам нужно выполнить потоковую передачу с очень небольшим окном сдвига по времени в проигрывателе, но вы хотите архивировать всю трансляцию в выходной ресурс.

Для параметра rewindWindowLength можно задать минимальное значение — 60 секунд.

Если вы создаете трансляцию с помощью LowLatencyV2, значение по умолчанию — 30 минут.

При отправке запроса на выходные данные потоковой трансляции включите rewindWindowLength в свойства. В приведенном ниже примере REST PT1H30M используется для указания окна перемотки длительностью 1 час и 30 минут.


{
  "properties": {
    "description": "test live output 1",
    "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212",
    "archiveWindowLength": "PT5M",
    "rewindWindowLength": "PT1H30M",
    "manifestName": "testmanifest",
    "hls": {
      "fragmentsPerTsSegment": 5
    }
  }

Создание архива для воспроизведения по требованию

После удаления выходных данных потоковой трансляции ресурс выходных данных потоковой трансляции автоматически становится объектом по запросу. Чтобы остановить трансляцию, удалите все выходные данные потоковой трансляции. (Вы можете использовать необязательный флаг removeOutputsOnStop для автоматического удаления выходных данных потоковой трансляции при остановке.) Пользователи могут выполнять потоковую передачу архивного содержимого по запросу, если вы не удаляете ресурс.

Примечание

При удалении выходных данных потоковой трансляции базовый ресурс и его содержимое не удаляются.

После публикации ресурса для выходных данных потоковой трансляции с использованием указателя потоковой передачи событие потоковой трансляции (менее длины окна DVR) будет доступно для просмотра до истечения срока действия или удаления указателя потоковой передачи, в зависимости от того, какое действие произойдет первым.

Дополнительные сведения см. в разделе:

Справка и поддержка

Вы можете обратиться к Службам мультимедиа с вопросами или следить за нашими обновлениями одним из следующих способов: