Потоковая трансляция в Службах мультимедиа Azure версии 3

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


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

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

Службы мультимедиа Azure дают возможность предоставлять клиентам события прямой трансляции в облаке Azure. Для потоковой передачи трансляций с помощью Служб мультимедиа необходимо настроить кодировщик видеотрансляции, который преобразует сигналы с камеры (или другого устройства, например ноутбука) в канал вкладов, отправляемый в Службы мультимедиа. этот поток может содержать сигналы, связанные с рекламой, например метки SCTE-35; Список рекомендуемых кодировщиков потоковой трансляции см. в этой статье.

Если вы ранее не использовали локальный кодировщик, воспользуйтесь кратким руководством По созданию динамического потока Служб мультимедиа Azure с помощью OBS .

Динамическая упаковка и доставка

Службы мультимедиа позволяют использовать динамическую упаковку, которая позволяет просматривать и транслировать прямые трансляции в форматах MPEG DASH, HLS и Smooth Streaming из веб-канала вкладов. Ваши зрители могут воспроизводить трансляцию с помощью любых проигрывателей, поддерживающих HLS, DASH и Smooth Streaming. Просмотрите список протестированных проигрывателей и попробуйте примеры сторонних проигрывателей Служб мультимедиа.

Типы событий, связанных с прямой трансляцией

Трансляции — это прием и обработка потоков видеотрансляций. Для трансляции можно задать одно из следующих вариантов:

  • сквозная передача , когда локальный динамический кодировщик отправляет поток с несколькими скоростями;
  • динамическое кодирование , когда локальный динамический кодировщик отправляет поток с одной скоростью. Дополнительные сведения о выходных данных в реальном времени см. в разделе Трансляции и выходные данные в реальном времени.

Сквозной режим

При использовании сквозной передачи трансляции (базовой или стандартной) локальный динамический кодировщик генерирует многоскоростной видеопоток и передает его как исходный в трансляцию с помощью протокола RTMP или фрагментированного MP4. Затем трансляция передает входящий видеопоток динамическому упаковщику (конечной точке потоковой передачи) без дальнейшей обработки. Сквозное трансляция оптимизировано для длительных трансляций или линейной потоковой трансляции 24x365.

сквозная потоковая передача

Кодирование в реальном времени

Чтобы использовать кодирование в реальном времени, настройте локальный динамический кодировщик для отправки видео с одной скоростью (агрегирование до 32 Мбит/с) в трансляцию (с использованием входного протокола RTMP или фрагментированного MP4). Трансляция перекодирует входящий односкоростной поток в многоскоростные видеопотоки с различным разрешением. Это улучшает доставку устройств воспроизведения с помощью стандартных отраслевых протоколов, таких как MPEG-DASH, Apple HTTP Live Streaming (HLS) и Microsoft Smooth Streaming.

потоковая передача с кодированием в реальном времени

Параметры трансляции

Динамическое шифрование

Используйте динамическое шифрование содержимого в режиме реального времени или по требованию с помощью AES-128 или трех основных систем управления цифровыми правами (DRM): Microsoft PlayReady, Google Widevine и Apple FairPlay. Они также обеспечивают службу доставки ключей AES и лицензий DRM (PlayReady, Widevine и FairPlay) авторизованным клиентам. Чтобы узнать больше, ознакомьтесь со статьей о динамическом шифровании.

Widevine — это служба, которая предоставляется компанией Google Inc. и подпадает под условия предоставления услуг и политику конфиденциальности Google Inc.

Динамическая фильтрация

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

Транскрибирование в реальном времени

Транскрибирование в реальном времени можно использовать в трансляциях, поддерживающих сквозную передачу или кодирование в реальном времени. Дополнительные сведения см. в статье о транскрибировании в реальном времени. Если эта функция включена, служба использует функцию Преобразование речи в текст служб Cognitive Services для преобразования слов во входящем аудио в текст. Этот текст затем становится доступным для доставки, так же как видео и аудио, в протоколах MPEG-DASH и HLS.

Важно!

Для трансляций следует использовать размеры GOP в 2 секунды. Чтобы получить правильные данные транскрибирования, необходимо использовать размеры GOP в 4 секунды или ниже для сквозных трансляций с транскрибированием. Если вы решили использовать более высокий размер GOP, данные транскрибирования могут иметь дефекты, например отсутствующее содержимое.

Рекомендации по обеспечению безопасности для доставки скрытых субтитров, субтитров и метаданных времени

Функции динамического шифрования и DRM Служб мультимедиа Azure имеют ограничения, которые следует учитывать при попытке защитить доставку содержимого, включая записи в реальном времени, заголовки, субтитры или метаданные времени. Подсистемы DRM, включая PlayReady, FairPlay и Widevine, не поддерживают шифрование и лицензирование текстовых дорожек. Отсутствие шифрования DRM для текстовых дорожек ограничивает возможность защиты содержимого интерактивного транскрибирования, вставленных вручную заголовков, отправленных субтитров или сигналов метаданных времени, которые можно вставить как отдельные дорожки.

Для защиты надписей, субтитров или дорожек с метаданными времени следуйте одному из следующих правил:

  1. Используйте шифрование с незащищенным ключом AES-128. Включив шифрования с незащищенным ключом AES-128, можно настроить шифрование текстовых дорожек с помощью полной методики шифрования типа "конверт", которая соответствует тому же шаблону шифрования, что и сегменты аудио и видео. Затем эти сегменты можно расшифровать с помощью клиентского приложения после запрашивания ключа расшифровки из службы доставки ключей Служб мультимедиа, используя токен JWT, прошедший проверку подлинности. Этот метод поддерживается Проигрывателем мультимедиа Azure, но может поддерживаться не всеми устройствами и требовать выполнения некоторых задач разработки на стороне клиента, чтобы убедиться, что метод работает на всех платформах.
  2. Используйте проверку подлинности на основе маркеров CDN для защиты дорожек текста (субтитров, заголовков, метаданных), доставляемых с помощью сокращенных URL-адресов с маркерами, которые ограничены параметрами географической области, IP-адреса или другими настраиваемыми параметрами на портале CDN. Включите функции безопасности CDN, используя CDN от Verizon Premium или другие сторонние решения CDN, настроенные для подключения к конечным точкам потоковой передачи Служб мультимедиа.

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

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

Рабочий процесс для потоковой трансляции в реальном времени

Чтобы понять, как работает потоковая трансляция в Службах мультимедиа версии 3, изучите перечисленные ниже понятия.

основные шаги

  1. Войдите в учетную запись Служб мультимедиа и убедитесь, что конечная точка потоковой передачи (origin) запущена.

  2. Создайте событие прямой трансляции.
    Для создаваемого события можно настроить автоматический запуск. Кроме того, событие можно запустить, когда вы будете готовы начать потоковую передачу.
    Если для автозапуска задано значение true, событие прямой трансляции будет запущено сразу после создания. Плата начисляется сразу же после запуска трансляции. Чтобы остановить начисление оплаты, нужно явно вызвать функцию Stop (Остановить) для ресурса трансляции. Дополнительные сведения см. в статье Состояния трансляций и выставление счетов.

  3. Получите URL-адрес приема и настройте использование URL-адреса в локальном кодировщике для отправки веб-канала входного потока.
    Рекомендуемые кодировщики потоковой трансляции.

  4. Получите URL-адрес для предварительного просмотра, чтобы проверить получение входных данных от кодировщика.

  5. Создание объекта ресурса.

    Все выходные данные потоковой трансляции связаны с ресурсом, который используется для записи видео в связанный контейнер хранилища BLOB-объектов Azure.

  6. Создайте выходные данные потоковой трансляции и используйте имя ресурса, чтобы заархивировать в нем поток.

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

  7. Создайте указатель потоковой передачи со встроенным типом политики потоковой передачи.

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

  8. Создайте список путей на основе указателя потоковой передачи, чтобы получать URL-адреса для использования (детерминированные).

  9. Получите имя узла для конечной точки потоковой передачи (Origin), с которой должна идти трансляция.

  10. Объедините URL-адрес (полученный на шаге 8) с именем узла (полученным на шаге 9), чтобы получить полный URL-адрес.

  11. Чтобы прекратить просмотр трансляции, необходимо остановить потоковую передачу, удалив ее указатель.

  12. После завершения потоковой передачи мероприятия вы можете удалить выделенные ранее ресурсы с помощью описанной ниже процедуры.

    • Остановите трансляцию потока из кодировщика.
    • Остановите динамическое событие. Плата за остановленное событие потоковой трансляции не взимается. Если вам понадобится снова запустить его, вы можете воспользоваться тем же URL-адресом приема (перенастраивать кодировщик не потребуется).
    • Вы можете остановить конечную точку потоковой передачи, если больше не собираетесь предоставлять доступ к архиву мероприятия в качестве потоковой передачи по требованию. Плата за остановленное событие потоковой трансляции не взимается. Однако если конечная точка потоковой передачи по-прежнему работает, плата взимается.

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

Совет

В руководстве по потоковым трансляциям описан код для выполнения перечисленных выше действий.

Другие важные статьи

Вопросы и ответы о потоковой трансляции

Ознакомьтесь с вопросами о потоковой трансляции в разделе вопросов и ответов.

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

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