Общие сведения о потоковой трансляции с использованием Служб мультимедиа

media services logo


Примечание

Обновление REST API Служб мультимедиа Azure и пакетов SDK до версии v3 до 29 февраля 2024 г. Версия 3 REST API Служб мультимедиа Azure и клиентские пакеты SDK для .NET и Java предлагает больше возможностей, чем версия 2. Мы прекращаем поддержку версии 2 для REST API Служб мультимедиа Azure и клиентских пакетов SDK для .NET и Java.

Требуется действие. Чтобы минимизировать прерывание рабочих нагрузок, изучите руководство по миграции, чтобы перенести код из версии 2 API и пакетов SDK в версию 3 до 29 февраля 2024 г. После 29 февраля 2024 года Службы мультимедиа Azure перестанут принимать трафик через REST API версии 2, API управления учетными записями ARM версии 2015-10-01 или клиентские пакеты SDK для .NET версии 2. К ним относятся любые сторонние клиентские пакеты SDK с открытым кодом, которые могут вызывать API версии 2. Узнайте подробности о последней версии в обзоре Служб мультимедиа версии 3.

Обзор

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

  • Камера, которая используется для трансляции события.

  • Динамический видеокодировщик, который преобразует сигналы от камеры в потоки, отправляемые службе динамической потоковой передачи.

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

  • Служба динамической потоковой передачи, которая позволяет делать следующее:

    • прием содержимого в реальном времени с использованием различных протоколов динамической потоковой передачи (например, RTMP или Smooth Streaming);
    • кодирование вашего потока в поток с адаптивной скоростью (по желанию);
    • предварительный просмотр динамического потока;
    • запись и хранение принятого содержимого для потоковой передачи в дальнейшем (видео по запросу);
    • доставка содержимого посредством общих потоковых протоколов (например, MPEG DASH, Smooth, HLS) непосредственно клиентам или в сеть доставки содержимого (CDN) для дальнейшего распространения.

Службы мультимедиа Microsoft Azure (AMS) предоставляют возможность приема, кодирования, предварительного просмотра, хранения и доставки содержимого динамической потоковой передачи.

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

Примечание

С 12 мая 2018 г. динамические каналы больше не будут поддерживать протокол приема транспортного потока RTP/MPEG-2. Выполните миграцию из RTP/MPEG-2 в протокол приема RTMP или фрагментированный протокол MP4 (Smooth Streaming).

Программы, каналы и конечные точки потоковой передачи

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

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

  • Локальный динамический кодировщик передает контент в многоскоростном формате RTMP или Smooth Streaming (фрагментированный формат MP4) в канал, настроенный для сквозной доставки. Сквозная доставка осуществляется, когда переданные потоки проходят через каналы без дополнительной обработки. Вы можете использовать следующие динамические кодировщики, выдающие содержимое в формате потоковой передачи Smooth Streaming с несколькими скоростями: MediaExcel, Ateme, Imagine Communications, Envivio, Cisco и Elemental. Следующие динамические кодировщики выдают содержимое в формате RTMP: транскодеры Telestream Wirecast, Haivision, Teradek. Динамический кодировщик может также передавать односкоростной поток в канал, для которого не включено кодирование в реальном времени, но это не рекомендуется. При получении запроса службы мультимедиа предоставляют потоки клиентам.

    Примечание

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

  • Локальный динамический кодировщик передает односкоростной поток в канал, который может осуществлять кодирование в реальном времени с помощью служб мультимедиа, в одном из следующих форматов: RTMP или Smooth Streaming (Fragmented MP4) . Следующие динамические кодировщики с выходными данным в формате RTMP работают с каналами этого типа: Telestream Wirecast. Затем канал кодирует входящий односкоростной поток в реальном времени в многоскоростной (адаптивный) видеопоток. При получении запроса службы мультимедиа предоставляют потоки клиентам.

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

  • Нет (сквозная передача) — задайте это значение, если вы собираетесь использовать локальный динамический кодировщик, который будет выдавать многоскоростной (сквозной) поток. В этом случае входящий поток передается на выход без кодирования. Таким образом каналы работали до выпуска 2.10.
  • Стандартный — выберите это значение, если собираетесь использовать службы мультимедиа для кодирования односкоростного потока во многоскоростной. Этот метод служит наиболее экономичным решением для быстрого масштабирования редких событий. Помните о том, что за кодирование в реальном времени взимается плата, поэтому, если вы оставите канал кодирования в реальном времени в состоянии "Работает", вам будут выставлены соответствующие счета. Рекомендуется сразу же прекращать работу канала после завершения потоковой передачи в реальном времени во избежание оплаты дополнительных часов.

Сравнение типов каналов

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

Компонент Сквозной канал Стандартный канал
Кодировка односкоростного источника данных в несколько потоков с различными скоростями передачи в облаке Нет Да
Максимальное разрешение, количество слоев 1080p, 8 слоев, 60 и более кадров в секунду 720p, 6 слоев, 30 и более кадров в секунду
Протоколы входных данных RTMP, Smooth Streaming RTMP, Smooth Streaming
Цена Откройте страницу цен и выберите вкладку Live Video Откройте страницу цен
Максимальное время выполнения 24x7 8 ч
Поддержка вставки баннеров Нет Да
Поддержка сигнализации о рекламе Нет Да
Сквозная передача субтитров стандарта CEA 608/708 Да Да
Поддержка неоднородных GPO Да Нет — входные данные должны представлять собой двухсекундные GOP с фиксированной скоростью передачи
Поддержка входных данных с переменной частотой кадров Да Нет — входные данные должны иметь фиксированную частоту кадров.
Небольшие колебания допустимы, например, в сценах с высокой скоростью движения. При этом кодировщик не поддерживает сжатие до 10 кадров в секунду.
Автоотключение каналов при потере входного потока данных Нет Через 12 часов, если не будет запущена ни одна программа

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

На следующей схеме показаны основные части платформы AMS, участвующие в рабочем процессе сквозной передачи .

Diagram that shows the major parts of the A M S platform for the

Дополнительные сведения см. в разделе Работа с каналами, получающими динамические многоскоростные потоки данных от локальных кодировщиков (сквозная передача).

Работа с каналами, выполняющими кодирование в реальном времени с помощью служб мультимедиа Azure

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

Live workflow

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

Channel

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

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

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

При создании канала можно указать допустимые IP-адреса в одном из следующих форматов: IpV4-адрес с четырьмя числами, диапазон адресов CIDR.

Программа

Программа позволяет управлять публикацией и хранением сегментов в динамическом потоке. Каналы управляют программами. Отношение между каналом и программой очень похоже на традиционные мультимедиа, где канал передает постоянный поток контента, а программа ограничена временным событием на этом канале. Можно указать количество часов, в течение которого записанный содержимого должен сохраняться для программы, установив свойство ArchiveWindowLength . Это значение может быть задано в диапазоне от 5 минут до 25 часов.

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

Каждая программа связана с ресурсом. Чтобы опубликовать программу, необходимо создать указатель для связанного ресурса. С помощью этого указателя можно сформировать URL-адрес потоковой передачи данных, который предоставляется клиентам.

Канал поддерживает одновременную потоковую трансляцию до трех программ, поэтому можно создавать по несколько архивов одного и того же входящего потока. Благодаря этому можно публиковать и архивировать разные части транслируемого мероприятия. Например ваш бизнес-требование — архивировать 6 часов программы, но для передачи только оставить последние 10 минут. Для этого необходимо создать две одновременно работающие программы. Для одной из них настроено архивирование 6 часов транслируемого мероприятия, но без публикации. Для второй программы настроено архивирование 10 минут с публикацией.

Процесс выставления счетов

Начисление платы за канал кодирования начинается, как только он переходит в состояние "Запущено" с помощью API-интерфейса.

В следующей таблице показано, как состояния канала соотносятся с состояниями выставления счетов в API и на портале Azure. Обратите внимание, что состояния для API и портала немного отличаются. Как только канал переходит в состояние "Работает" с помощью API либо в состояние "Готово" или "Потоковая передача" на портале Azure, начинается начисление оплаты.

Чтобы прекратить начисление оплаты за канал, необходимо остановить канал через API или на портале Azure. Только вы отвечаете за остановку каналов после завершения кодирования. Если вы не остановите работу канала, начисление оплаты будет продолжено.

Примечание

При работе с каналами ценовой категории "Стандартный", AMS автоматически отключает любой канал, находящийся в состоянии "Запущено" в течение 12 часов после потери входного потока данных, если нет работающих программ. Оплата при этом будет начисляться за все время, пока канал находится в состоянии "Запущено".

Состояния канала и их сопоставление с режимом выставления счетов

Текущее состояние канала. Возможные значения:

  • Остановлен. Это начальное состояние канала после его создания (если на портале не был выбран режим автозапуска). В этом состоянии плата не взимается. В этом состоянии можно изменять свойства канала, но потоковая передача запрещена.
  • Запуск. Канал запускается. В этом состоянии начисление оплаты не происходит. В этом состоянии обновление и потоковая передача запрещены. Если возникает ошибка, канал возвращается в состояние "Остановлен".
  • Выполняется. Канал может обрабатывать динамические потоки. Теперь оплата начисляется. Необходимо остановить работу канала, чтобы избежать дальнейшего начисления оплаты.
  • Остановка. Канал останавливается. В этом переходном состоянии оплата не начисляется. В этом состоянии обновление и потоковая передача запрещены.
  • Удаление. Канал удаляется. В этом переходном состоянии оплата не начисляется. В этом состоянии обновление и потоковая передача запрещены.

В таблице ниже показано, как состояния канала соотносятся с режимом выставления счетов.

Состояние канала Индикаторы в пользовательском интерфейсе портала Это начисление оплаты?
Запуск Запуск Нет (переходное состояние)
Запущен Готово (нет запущенных программ)
или
Потоковая передача (запущена по крайней мере одна программа)
YES
Остановка Остановка Нет (переходное состояние)
Остановлена Остановлена Нет