Канал

В службах мультимедиа Azure (AMS) сущность "канал" представляет конвейер для обработки содержимого потоковой трансляции. Канал получает входные потоки одним из двух способов.

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

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

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

  • None — задайте это значение, если вы планируете использовать локальный динамический кодировщик, который будет выдавать многоскоростной поток. В этом случае входящий поток передается на выход без кодирования. Таким образом каналы работали до выпуска 2.10. Дополнительные сведения о работе с каналами этого типа см. в статье Работа с каналами, получающими многоскоростной динамический поток из локальных кодировщиков.

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

    Примечание

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

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

Важно!

При доступе к сущностям в службах мультимедиа необходимо задать определенные поля и значения заголовков в HTTP-запросах.
Дополнительные сведения см. в статье Настройка rest API Служб мультимедиа Разработка и подключение к Службам мультимедиа с помощью REST API Служб мультимедиа.

В данном разделе приводится описание сущности Channel и демонстрируется выполнение различных операций с API REST служб мультимедиа.

Сущность канала

Сущность Channel включает в себя следующие свойства.

Свойство Тип Описание
Id

Только для чтения. Задается Media Services.
Edm.String Идентификатор канала, назначенный во время создания. Формат будет следующим:

nb:chid:UUID:<GUID>.
Name Edm.String Имя канала.

1. Должен быть уникальным в пределах вашей учетной записи Служб мультимедиа.
2. Максимальная длина = 32 символа.
3. Не может содержать пробелы.
4. Дефисы и буквенно-цифровые символы.
5. Не может начинаться или заканчиваться дефисом.
Created

Только для чтения. Задается Media Services.
Edm.DateTime Значение даты/времени UTC указывает время создания.
Description Edm.String Предоставленное пользователем описание. Максимальная длина составляет 256 символов.
LastModified

Только для чтения. Задается Media Services.
Edm.DateTime Дата и время последнего обновления канала.
State

Только для чтения. Задается Media Services.
Edm.String Текущее состояние канала. Возможные значения:

— Stopped. Это начальное состояние канала после его создания. В этом состоянии можно изменять свойства канала, но потоковая передача запрещена.
— Starting. Канал запускается. В этом состоянии обновление и потоковая передача запрещены. В случае появления ошибки канал возвращает состояние Остановлен.
— Running. Канал может обрабатывать динамические потоки.
— Stopping. Канал останавливается. В этом состоянии обновление и потоковая передача запрещены.
— Deleting. Канал удаляется. В этом состоянии обновление и потоковая передача запрещены.
Input ChannelInput ComplexType Входные параметры (параметры приема) канала.
Output ChannelOutput ComplexType Выходные параметры канала
Preview ChannelPreview ComplexType Параметры предварительного просмотра канала.
CrossSiteAccessPolicies CrossSiteAccessPolicies Политики межсайтового доступа.
Programs

Только для чтения. Задается Media Services.
Коллекция программ. Ссылка на коллекцию программ, связанную с каналом.
EncodingType Edm.String Optional. Описывает конфигурацию канала. Допустимые значения:

- None — Это значение по умолчанию. При выборе этого значения входящий поток передается в выходные данные без какого-либо кодирования (это поведение канала до выхода версии 2.10).
- Standard– Входящий односкоростной поток отправляется в канал и перекодируется в поток с несколькими скоростями с помощью предустановок системы.
Encoding Кодировка ComplexType Параметры динамического кодировщика Azure.
Slate Планшет Этот параметр поддерживается только в Encoding Type том случае, если для параметра канала задано значение Standard.

Динамическому кодировщику канала можно дать сигнал переключиться на изображение листа. Ему также можно дать сигнал завершить показ этого изображения.

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

ChannelInput ComplexType

Имя Тип Описание
KeyFrameInterval Edm.Time Это значение игнорируется, если параметр EncoderType имеет значение Standard.

При использовании локального динамического кодировщика для создания потока с несколькими скоростями интервал ключевого кадра определяет длительность GOP (в том виде, в котором используется этот внешний кодировщик). После того, как канал получит входящий поток, вы можете предоставить динамический поток клиентским приложениям для воспроизведения в любом из следующих форматов: Smooth Streaming, DASH и HLS. При динамической потоковой передаче HLS всегда упаковывается динамически. По умолчанию службы мультимедиа автоматически вычисляют коэффициент упаковки сегментов HLS (число фрагментов на сегмент) с учетом интервала опорных кадров, которые также называются группой изображений (GOP), получаемой из динамического кодировщика.
StreamingProtocol

Только для чтения.
Edm.String После выбора типа кодировщика можно задать протокол приема.

Encoder Type Если для задано значение None, допустимые параметры:

— Фрагментированные MP4 с несколькими скоростами (Smooth Streaming)
— RTMP с несколькими скоростами

Encoder Type Если для задано значение None, это допустимо, но нежелательно для отправки потоковой трансляции с одной скоростью RTMP или Smooth Streaming. Канал не выполняет никакую обработку этого потока, поэтому он будет проходить, но клиентские приложения будут получать односкоростной поток.

Encoder Type Если для задано значение Standard, допустимые параметры:

1. Фрагментированные MP4 с одной скоростью (Smooth Streaming)
2. Односкоростной RTMP
3. RTP (MPEG-TS): транспортный поток MPEG-2 через RTP.
AccessControl ChannelInputAccessControl ComplexType Параметры управления доступом к входу канала
Endpoints

Только для чтения.
ChannelEndpoint ComplexType Входные конечные точки канала

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

ChannelPreview ComplexType

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

Имя Тип Описание
AccessControl ChannelPreviewAccessControl ComplexType Параметры управления доступом к предварительному просмотру канала.
Endpoints

Только для чтения.
ChannelEndpoint ComplexType Конечные точки предварительного просмотра канала

ChannelInputAccessControl ComplexType

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

ChannelPreviewAccessControl ComplexType

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

Имя Тип Описание
IP IPAccessControl IP-адреса, которым разрешено подключаться к входным конечным точкам канала.
IP-адреса должны иметь один из следующих форматов: ipV4-адрес с 4 числами, диапазон адресов CIDR

IPAccessControl

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

Имя Тип Описание
Allow IPRange ComplexType IP-адреса, которым разрешено подключаться к входным конечным точкам канала. Примечание: Установка этого значения null позволяет подключаться ко всем IP-адресам источника. Установите его на пустую строку (""), что не позволит никому осуществлять подключение.

IPRange ComplexType

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

Имя Тип Описание
Name Edm.String Понятное имя для данного диапазона IP-адресов.
Address Edm.String Базовый IP-адрес для представления подсети (например:192.168.0.1).
SubnetPrefixLength Edm.Int32 Количество значимых битов для маски подсети (например в IP-адресе 192.168.0.1/24 цифра 24 указывает на количество значимых битов).

ChannelEndpoint ComplexType

Имя Тип Описание
Protocol Edm.String Протокол конечной точки потоковой передачи канала.
Url Edm.String URL-адрес конечной точки потоковой передачи.

ChannelOutput ComplexType

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

Имя Тип Описание
Hls ChannelOutputHls ComplexType Специальные параметры HLS.

ChannelOutputHls ComplexType

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

Имя Тип Описание
FragmentsPerSegment Edm.Int16 Количество фрагментов в сегменте потоковой передачи HTTP (HLS).

Кодировка ComplexType

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

Имя Тип Описание
AdMarkerSource Edm.String Вы можете указать источник для сигналов маркера рекламы. Значение по умолчанию — Api, которое указывает, что динамический кодировщик в канале должен прослушивать асинхронный Ad Marker APIкодировщик . Другой допустимый параметр — (допускается Scte35 только в том случае, если для протокола потоковой передачи приема задано значение RTP (MPEG-TS). Если Scte35 задано значение , кодировщик будет анализировать SCTE-35 сигналы из входного потока RTP (MPEG-TS).
IgnoreCea708ClosedCaptions Edm.bool Optional. Необязательный флаг, который указывает динамическому кодировщику игнорировать данные подписей CEA-708, внедренные во входящее видео. Если этот флаг имеет значение false (по умолчанию), кодировщик обнаруживает данные CEA-708 и вставляет их в выходные видеопотоки.
VideoStream VideoStream (Потоковая передача видео) Optional. Описывает входной видеопоток. Если это поле не задано, используется значение по умолчанию. Этот параметр допустим, только если протоколом входного потока является RTP (MPEG-TS).
AudioStreams Аудиопотоки Optional. Описывает входной аудиопоток. Если это поле не задано, используются значения по умолчанию. Этот параметр допустим, только если протоколом входного потока является RTP (MPEG-TS).
SystemPreset Edm.String Задает предопределенный кодировщик, который должен использоваться для этого канала. В настоящее время единственным разрешенным значением является Default720p (по умолчанию).

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

SystemPreset

Default720p указывает для кодирования видео в следующие 6 слоев.

Скорость Ширина Высота: Макс. кадров/с Профиль Имя выходного потока
3500 1280 720 30 Высокий Video_1280x720_3500kbps
2200 960 540 30 Высокий Video_960x540_2200kbps
1350 704 396 30 Высокий Video_704x396_1350kbps
850 512 288 30 Высокий Video_512x288_850kbps
550 384 216 30 Высокий Video_384x216_550kbps
200 340 192 30 Высокий Video_340x192_200kbps

Звук кодируется в стереоформате AAC-LC со скоростью 64 Кбит/с и частотой выборки 44,1 кГц.

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

VideoStream (Потоковая передача видео)

Описывает входной видеопоток. Если это поле не задано, используется значение по умолчанию. Этот параметр допустим, только если протоколом входного потока является RTP (MPEG-TS).

Имя Тип Описание
Index Edm.Int1 Отсчитываемый от нуля индекс, указывающий входной видеопоток, который должен обрабатываться динамическим кодировщиком в канале. Этот параметр применяется, только если протоколом входного потока является RTP (MPEG-TS).

Значение по умолчанию — нуль. Рекомендуется отправлять на вход однопрограммный транспортный поток (SPTS). Если входной поток содержит несколько программ, динамический кодировщик анализирует таблицу структуры программ (PMT), выявляет входные данные с именем типа потока "MPEG-2 Video" или "H.264" и располагает их в порядке, указанном в таблице PMT. Затем с помощью отсчитываемого от нуля индекса выбирается n-ный элемент в этой последовательности.
Name Edm.String Optional. Описательный тег для этого входного видеопотока.

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

Аудиопотоки

Описывает входной аудиопоток. Если это поле не задано, используются значения по умолчанию. Этот параметр допустим, только если протоколом входного потока является RTP (MPEG-TS).

Имя Тип Описание
Index Edm.Int16 Рекомендуется отправлять на вход однопрограммный транспортный поток (SPTS). Если входной поток содержит несколько программ, динамический кодировщик анализирует таблицу структуры программ (PMT), выявляет входные данные с именем типа потока "MPEG-2 AAC ADTS", "AC-3 System-A", "AC-3 System-B", "MPEG-2 Private PES", "MPEG-1 Audio" или "MPEG-2 Audio" и располагает их в порядке, указанном в таблице PMT. Затем с помощью отсчитываемого от нуля индекса выбирается n-ный элемент в этой последовательности.
Name Edm.String Optional. Описательный тег для этого входного аудиопотока.
Language Edm.String Optional. Идентификатор языка аудиопотока согласно стандарту ISO 639-2, например ENG. Если не указан, используется значение по умолчанию — UND (не определено).

Если входной контент канала имеет формат MPEG-2 TS по RTP, может быть указано до 8 наборов аудиопотоков. Однако две записи с одинаковым значением индекса недопустимы.

Может быть задано до 8 наборов {индекс, имя, язык}, если входные данные для кодировщика имеют тип MPEG-2 TS через RTP. Однако две записи с одинаковым значением индекса недопустимы. Если входные данные для кодировщика имеют тип RTMP или HTTP (Smooth Streaming), то во входных данных может быть только один звуковой поток.

Планшет

Этот параметр поддерживается только в Encoding Type том случае, если для параметра канала задано значение Standard.

Динамическому кодировщику канала можно дать сигнал переключиться на изображение листа. Ему также можно дать сигнал завершить показ этого изображения.

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

Имя Тип Описание
InsertSlateOnAdMarker Edm.Bool Если задано значение True, этот параметр предписывает динамическому кодировщику вставлять заставку во время рекламной паузы. Значение по умолчанию — true.
DefaultSlateAssetId Edm.String Optional. Указывает идентификатор ресурса Служб мультимедиа, который содержит изображение сланца. Значением по умолчанию является NULL.

Перед созданием канала необходимо отправить изображение заставки с максимальным разрешением 1920 x 1080, в формате JPEG и размером не более 3 МБ в качестве выделенного ресурса (в этом ресурсе не должно быть никаких других файлов). Имя файла должно иметь расширение JPG, и этот AssetFile должен быть помечен как основной файл для этого ресурса. Этот ресурс не может быть зашифрован в хранилище.

Если идентификатор ресурса по умолчанию не указан, а параметр insert slate on ad marker имеет значение true, для маскирования входного потока будет использоваться изображение Служб мультимедиа Azure по умолчанию.

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

Создание каналов

Каналы можно создавать с использованием запроса POST HTTP и задания значений свойства.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels> HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

В следующем тексте запроса показано, как создать канал, который включен для кодирования в реальном времени.

{  
   "Id":null,  
   "Name":"testchannel001",     
   "Description":"",  
   "EncoderType":"Standard",  
   "Created":"0001-01-01T00:00:00",  
   "LastModified":"0001-01-01T00:00:00",  
   "State":null,  
   "Input":  
   {  
      "StreamingProtocol":"RTPMPEG2TS",  
      "AccessControl":  
      {  
         "IP":  
         {  
         "Allow":  
            [  
               {  
                  "Name":"testName1",  
                  "Address":"1.1.1.1",  
                  "SubnetPrefixLength":24  
               }  
            ]  
         }  
      },  
      "Endpoints":[]  
   },  
   "Encoding":  
   {  
      "SystemPreset":"Default720p",  
      "IgnoreCea708ClosedCaptions": false,  
      "AdMarkerSource": "Api",
      "VideoStream":  
      {  
         "Index":1,  
         "Name":"Video stream"  
      },  
      "AudioStreams":  
      [  
         {  
            "Index":0,  
            "Name":"English audio stream",  
            "Language":"ENG"  
         },  
         {  
            "Index":1,  
            "Name":"Spanish audio stream",  
            "Language":"SPA"  
         }  
      ]  
   },  
   "EncodingType": "Standard",  
   "Slate":  
   {  
      "InsertOnAdMarker":true,  
      "DefaultSlateAssetId": "nb:cid:UUID:01234567-0123-0123-0123-01234567"  
   },  
   "Preview":  
   {  
      "AccessControl":  
      {  
         "IP":  
         {  
            "Allow":  
            [  
               {  
                  "Name":"testName1",  
                  "Address":"1.1.1.1",  
                  "SubnetPrefixLength":24  
               }  
            ]  
         }  
      },  
      "Endpoints":[]  
   }  
}  
  

В следующем тексте запроса показано, как создать канал в учетной записи, для этого не включена функция кодирования в реальном времени.

{  
"Id":null,  
"Name":"testchannel001",  
"Description":"",  
"Created":"0001-01-01T00:00:00",  
"LastModified":"0001-01-01T00:00:00",  
"State":null,  
"Input":  
   {  
   "KeyFrameInterval":null,  
   "StreamingProtocol":"FragmentedMP4",  
   "AccessControl":  
      {  
         "IP":  
         {  
            "Allow":[{"Name":"testName1","Address":"1.1.1.1","SubnetPrefixLength":24}]  
         }  
      },  
   "Endpoints":[]  
   },  
"Preview":  
   {  
   "AccessControl":  
      {  
         "IP":  
         {  
            "Allow":[{"Name":"testName1","Address":"1.1.1.1","SubnetPrefixLength":24}]  
         }  
      },  
      "Endpoints":[]  
   },  
"Output":  
   {  
   "Hls":  
      {  
         "FragmentsPerSegment":1  
      }  
   },  
"CrossSiteAccessPolicies":  
   {  
      "ClientAccessPolicy":null,  
      "CrossDomainPolicy":null  
   }  
}  

При успешном выполнении возвращается код состояния 202 Принято вместе с представлением созданной сущности в тексте ответа.

Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Запуск каналов

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Start HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/Start HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Остановка каналов

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

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Stop HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/Stop HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Перечисление каналов

Каналы можно получить с помощью HTTP-запроса GET.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
GET Получение всех каналов:

<https:// accountname.restv2>.<location.media.azure.net/api/Channels>

Получение определенного канала.

<https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')
HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

GET https://testrest.cloudapp.net/api/Channels HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

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

Сброс каналов

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

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Reset HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/Reset HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Обновление каналов

Обновляет свойства существующего канала. Канал должен находиться в состоянии Остановлен.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
PATCH/PUT/MERGE

Дополнительные сведения об этих операциях см. здесь.
<https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

PATCH https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393') HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

Тело запроса:

"Encoding":{"IgnoreCea708ClosedCaptions": true}  

Если обновление завершается синхронно, оно возвращает код состояния 204 Нет содержимого. В противном случае оно возвращает код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Начать объявление

Динамический кодировщик может быть сигнализировать о начале объявления или коммерческого прерывания с помощью HTTP-запроса POST и указания значений свойств объекта в сущности StartAdvertisement Entity в тексте запроса.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/StartAdvertisement HTTP/1.1

Дополнительные сведения см. в статье Общие сведения о каналах, для которых включена функция кодирования в реальном времени.

Сущность StartAdvertisement

Эта сущность представляет API начала рекламного объявления — это асинхронный вызов динамического кодировщика для вставки объявления или рекламной паузы в выходной поток.

Дополнительные сведения см. в статье Общие сведения о каналах, для которых включена функция кодирования в реальном времени.

Имя Тип Описание
duration Edm.Duration Длительность рекламной паузы в секундах. Чтобы рекламная пауза могла начаться, это должно быть положительное значение, отличное от нуля. Если установить длительность рекламной паузы, идущей в данным момент, равной нулю, эта пауза будет отменена.
cueId Edm.Int Уникальный идентификатор рекламной паузы, который используется подчиненным приложением для выполнения соответствующих действий. Должен быть положительным целым числом.
showSlate Edm.Bool Optional. Указывает динамическому кодировщику в канале, что во время рекламной паузы он должен переключаться на изображение заставки по умолчанию (и маскировать входящий видеопоток). Значение по умолчанию — false.

Используемый образ будет указан с помощью свойства идентификатора ресурса по умолчанию во время создания канала.

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/StartAdvertisement HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

Текст

{  
   "duration":"PT45S",  
   "cueId":"67520935",  
   "showSlate":"true"  
}  
  

При успешном выполнении возвращается код состояния 202 Принято.

Завершить объявление

Динамическому кодировщику можно сигнализировать, что следует завершить текущее объявление или рекламную паузу, с помощью запроса POST HTTP.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/EndAdvertisement HTTP/1.1

Этот вызов должен выполняться только при наличии выполняющегося рекламного объявления.

Дополнительные сведения см. в статье Общие сведения о каналах, для которых включена функция кодирования в реальном времени.

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/EndAdvertisement HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято.

Показать сланец

Указывает динамическому кодировщику в канале, что во время рекламной паузы он должен переключаться на изображение заставки по умолчанию (и маскировать входящий видеопоток). Значение по умолчанию — false. Используемый образ будет указан с помощью свойства идентификатора ресурса по умолчанию во время создания канала.

Используйте свойства ShowSlate Entity в тексте HTTP-запроса.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/ShowSlate HTTP/1.1

Дополнительные сведения см. в статье Общие сведения о каналах, для которых включена функция кодирования в реальном времени.

Сущность ShowSlate

Дополнительные сведения см. в статье Общие сведения о каналах, для которых включена функция кодирования в реальном времени.

Имя Тип Описание
duration Edm.Duration Длительность заставки в секундах. Чтобы показ листа мог начаться, это должно быть положительное значение, отличное от нуля. Если имеется текущая заставка и указывается нулевая длительность, то текущая заставка будет прервана.
assetId Edm.String Указывает идентификатор ресурса Служб мультимедиа, который содержит изображение сланца.

Перед созданием канала необходимо отправить изображение заставки с разрешением 1920 x 1080, в формате JPEG и размером не более 3 МБ в качестве выделенного ресурса (в этом ресурсе не должно быть никаких других файлов).

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

Если свойство DefaultSlateAssetId задано, а свойство AssetId не задано, то для маскировки входного потока будет использоваться изображение DefaultSlateAssetId. Дополнительные сведения см. в разделе Slate.

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/ShowSlate HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

Текст

{  
   "duration":"PT45S",  
   "assetId":"nb:cid:UUID:01234567-ABCD-ABCD-EFEF-01234567"  
}  
  

При успешном выполнении возвращается код состояния 202 Принято.

Скрыть лист

Динамическому кодировщику можно сигнализировать, что следует завершить текущую заставку, с помощью запроса POST HTTP.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/HideSlate HTTP/1.1

Этот вызов должен выполняться только при наличии выполняющейся заставки.

Дополнительные сведения см. в статье Общие сведения о каналах, для которых включена функция кодирования в реальном времени.

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

POST https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393')/HideSlate HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

Удаление каналов

Удаление канала.

Метод Универсальный код ресурса (URI) запроса Версия HTTP
DELETE <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

Пример запроса

Вы можете опробовать следующий пример на вкладке Fiddler's Composer.

Сведения о том, как получить последнюю версию x-ms-version:, см. в разделе REST Служб мультимедиа.

Заголовки запроса:

DELETE https://testrest.cloudapp.net/api/Channels('nb:chid:UUID:2c30f424-ab90-40c6-ba41-52a993e9d393') HTTP/1.1  
DataServiceVersion: 3.0;NetFx  
MaxDataServiceVersion: 3.0;NetFx  
Accept: application/json;odata=minimalmetadata  
Accept-Charset: UTF-8  
x-ms-version: 2.19  
Content-Type: application/json;odata=minimalmetadata  
Host: <host URI>  
User-Agent: Microsoft ADO.NET Data Services  
Authorization: Bearer <token value>  
  

При успешном выполнении возвращается код состояния 202 Принято. Код состояния 202 Принято указывает на асинхронную операцию. В этом случае также предоставляется значение заголовка идентификатора операции для опроса и отслеживания состояния долговременных операций, например, для запуска или остановки канала. Для получения состояния передайте значение заголовка идентификатора операции в сущность операции. Дополнительные сведения см. в разделе Опрос операций Long-Running вручную.

См. также:

Доставка динамической потоковой передачи с помощью служб мультимедиа Azure
Program