Canal

Nos Serviços de Mídia do Azure (AMS), a entidade Canal representa um pipeline para o processamento de conteúdo de transmissão ao vivo. Um Canal recebe transmissões de entrada ao vivo de uma das duas maneiras a seguir:

  • Um codificador dinâmico local envia várias taxas RTMP de bits ou Smooth Streaming (MP4 fragmentado) para o Canal. Você pode usar os codificadores dinâmicos a seguir, que produzem Smooth Streaming com múltiplas taxas de bits: MediaExcel, Imagine Communications, Ateme, Envivio, Cisco e Elemental. Os seguintes codificadores ativos produzem RTMP: codificadores Adobe Flash Live Encoder, Haivision, Telestream Wirecast, Teradek e Tricaster. Os fluxos ingeridos passam por Canais sem processamento adicional. Quando solicitado, os Serviços de Mídia transmitem o fluxo aos clientes.

  • Um fluxo de taxa de bits único (em um dos seguintes formatos: RTP (MPEG-TS), RTMPou Smooth Streaming (MP4 fragmentado)) é enviado para o Channel que está habilitado para executar a codificação dinâmica com os Serviços de Mídia. O Channel executa a codificação ativa de fluxo de taxa de bits única de entrada em um fluxo de vídeo de várias taxas de bits (adaptável). Quando solicitado, os Serviços de Mídia transmitem o fluxo aos clientes.

A partir da versão 2.10 dos Serviços de Mídia, quando você cria um canal, você pode especificar de que modo você deseja que o canal receba o fluxo de entrada e se deseja ou não que o canal realize a codificação ao vivo do seu fluxo. Você tem duas opções:

  • None – Especifique esse valor se você planeja usar um codificador dinâmico local que gerará fluxo de várias taxas de bits. Nesse caso, o fluxo de entrada foi transmitido para a saída sem qualquer codificação. Esse é o comportamento de um canal em versão anterior à 2.10. Para obter informações mais detalhadas sobre como trabalhar com canais desse tipo, consulte Trabalhando com canais que recebem transmissão ao vivo de várias taxas de bits de codificadores locais.

  • Standard – Se você planeja usar os Serviços de Mídia para codificar sua transmissão ao vivo de taxa de bits única para o fluxo de várias taxas de bits, escolha esse valor.

    Observação

    Lembre-se de que há um impacto de cobrança para codificação ativa e você deve se lembrar que deixar um canal de codificação ativo no estado "Em execução" incorrerá em cobranças. É recomendável parar imediatamente seus canais em execução após a conclusão do evento de streaming ativo para evitar cobranças por hora extra. Para obter mais informações, consulte trabalhando com canais habilitados a executar codificação ativa com os Serviços de Mídia do Azure.

Para obter mais informações sobre transmissão ao vivo e gerenciamento de canais, consulte Entregando streaming ao vivo com os Serviços de Mídia do Azure.

Importante

Ao acessar entidades nos serviços de mídia, você deve definir valores e campos de cabeçalho específicos nas suas solicitações HTTP.
Para obter mais informações, consulte Instalação para desenvolvimento de API REST dos Serviços de Mídia e Conexão aos Serviços de Mídia com a API REST dos Serviços de Mídia.

Este tópico oferece uma visão geral da entidade Channel e também demonstra como executar várias operações com a API REST dos Serviços de Mídia.

Entidade Canal

A entidade de Channel contém as seguintes propriedades.

Propriedade Type Descrição
Id

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.String ID do Canal, atribuída no momento da criação. O formato é:

nb:chid:UUID:<GUID>.
Name Edm.String Nome do Canal.

1. Deve ser exclusivo em sua conta dos Serviços de Mídia.
2. Comprimento máximo = 32 caracteres.
3. Não é possível conter espaços.
4. Hífens e caracteres alfanuméricos somente.
5. Não é possível começar ou terminar com um hífen.
Created

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.DateTime Um valor de data/hora UTC que indica a hora de criação.
Description Edm.String Descrição informada pelo usuário. O tamanho máximo é de 256 caracteres.
LastModified

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.DateTime Data e a hora da última atualização ao canal.
State

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.String Estado atual do canal. Os valores possíveis incluem:

- Parado. Este é o estado inicial do canal após sua criação. Nesse estado, as propriedades do canal podem ser atualizadas, mas streaming não é permitido.
- Iniciando. O Canal está sendo inicializado. Nenhuma atualização ou streaming é permitido durante esse estado. Se houver um erro, o Canal retorna ao estado Parado.
- Executando. O canal é capaz de processar transmissões ao vivo.
- Parando. o canal está sendo parado. Nenhuma atualização ou streaming é permitido durante esse estado.
- Excluindo. O canal está sendo excluído. Nenhuma atualização ou streaming é permitido durante esse estado.
Input ChannelInput ComplexType Configurações de entrada do canal (ingestão).
Output ChannelOutput ComplexType Configurações de saída do canal.
Preview ChannelPreview ComplexType Configurações de visualização do canal.
CrossSiteAccessPolicies CrossSiteAccessPolicies Políticas de acesso entre sites.
Programs

Somente leitura. Configurada pelos Serviços de Mídia.
Uma coleção de Programas. Uma referência à coleção de programas associados ao canal.
EncodingType Edm.String Optional. Descreve a configuração do canal. Valores permitidos são:

- None – Esse é o valor padrão. Ao selecionar esse valor, o fluxo de entrada transmitido pela saída sem nenhuma codificação (esse é o comportamento de um canal antes da versão 2.10).
- Standard – O fluxo de taxa de bits única de entrada é enviado para o Canal e transcodificado em um fluxo de múltiplas taxas de bits usando predefinições do sistema
Encoding Codificando ComplexType Configurações do codificador ao vivo do Azure.
Slate Slate Essa configuração só tem suporte quando o Encoding Type do Canal é definido Standardcomo .

O codificador ao vivo no canal pode ser sinalizado para alternar para uma imagem slate. Ele também pode ser sinalizado para encerrar um slate em curso.

O codificador ao vivo pode ser configurado para alternar para uma imagem slate e mascarar o sinal de vídeo de entrada em determinadas situações, por exemplo, durante um intervalo de anúncio. Se um slate desse tipo não estiver configurado, o vídeo de entrada não é mascarado durante esse intervalo comercial.

ChannelInput ComplexType

Nome Type Descrição
KeyFrameInterval Edm.Time Esse valor será ignorado se EncoderType for definido como Standard.

Ao usar um codificador dinâmico local para gerar fluxo de múltiplas taxas de bits, o intervalo de quadros de chave especifica a duração do GOP (conforme usado por esse codificador externo). Depois que esse fluxo de entrada for recebido pelo canal, você poderá entregar sua transmissão ao vivo aos aplicativos de reprodução de cliente em qualquer um dos seguintes formatos: Smooth Streaming, DASH e HLS. Ao fazer streaming ao vivo, o HLS é sempre empacotado dinamicamente. Por padrão, os Serviços de Mídia calculam automaticamente a proporção de empacotamento do segmento de HLS (fragmento por segmento) com base no intervalo de quadro-chave, também conhecidos como Grupo de Imagens (GOP), que é recebido do codificador ao vivo.
StreamingProtocol

Somente leitura.
Edm.String Após definir o tipo de codificador, defina um protocolo de ingestão.

Se o Encoder Type estiver definido como None, as opções válidas serão:

– MP4 fragmentado com múltiplas taxas de bits (Smooth Streaming)
– RTMP de múltiplas taxas de bits

Encoder Type Quando o estiver definido Nonecomo , ele será válido, mas indesejável, para que uma única transmissão ao vivo de taxa de bits RTMP ou Smooth Streaming seja enviada. O canal não faz nenhum processamento com o fluxo, portanto, ele é transmitido, mas os aplicativos cliente recebem um fluxo de taxa de bits única.

Se o Encoder Type estiver definido como Standard, as opções válidas serão:

1. MP4 fragmentado de taxa de bits única (Smooth Streaming)
2. Taxa de bits única RTMP
3. RTP (MPEG-TS): Fluxo de Transporte MPEG-2 por RTP.
AccessControl ChannelInputAccessControl ComplexType Configurações de controle de acesso da entrada do canal.
Endpoints

Somente leitura.
ChannelEndpoint ComplexType Pontos de extremidade de entrada do canal.

Um canal fornece pontos de extremidade de entrada (URLs de ingestão) que você usa para receber sua transmissão ao vivo. O canal recebe fluxos ao vivo de entrada e disponibiliza os fluxos de saída para transmissão para um ou mais pontos de extremidade de transmissão.

ChannelPreview ComplexType

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
AccessControl ChannelPreviewAccessControl ComplexType Configurações de controle de acesso da visualização do canal.
Endpoints

Somente leitura.
ChannelEndpoint ComplexType Pontos de extremidade de visualização do canal.

ChannelInputAccessControl ComplexType

Nome Type Descrição
IP IPAccessControl Endereços IP que têm permissão para se conectar aos pontos de extremidade de entrada do canal.
Os endereços IP devem estar em um dos seguintes formatos: endereço IpV4 com 4 números, intervalo de endereços CIDR.

ChannelPreviewAccessControl ComplexType

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
IP IPAccessControl Endereços IP que têm permissão para se conectar aos pontos de extremidade de entrada do canal.
Os endereços IP devem estar em um dos seguintes formatos: endereço IpV4 com 4 números, intervalo de endereços CIDR

IPAccessControl

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
Allow IPRange ComplexType Endereços IP que têm permissão para se conectar aos pontos de extremidade de entrada do canal. Nota: Definir esse valor como nulo permite que todos os endereços de origem IP se conectem. Configurá-lo como uma cadeia vazia (“”) faz com que nenhum se conecte.

IPRange ComplexType

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
Name Edm.String Um nome amigável para o Intervalo IP.
Address Edm.String Endereço IP de base para a representação da sub-rede (por exemplo, 192.168.0.1).
SubnetPrefixLength Edm.Int32 O número de bits significativos para a máscara da sub-rede (por exemplo, no endereço IP 192.168.0.1/24, 24 representa o número de bits significativos).

ChannelEndpoint ComplexType

Nome Type Descrição
Protocol Edm.String Protocolo do ponto de extremidade de transmissão do canal.
Url Edm.String URL do ponto de extremidade de streaming do canal.

ChannelOutput ComplexType

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica

Nome Type Descrição
Hls ChannelOutputHls ComplexType Configurações específicas de HLS.

ChannelOutputHls ComplexType

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
FragmentsPerSegment Edm.Int16 Quantidade de fragmentos por segmento de HTTP Live Streaming (HLS).

Codificação ComplexType

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
AdMarkerSource Edm.String Você pode especificar a origem para sinais de marcadores de anúncio. O valor padrão é Api, que indica que o codificador dinâmico dentro do Canal deve escutar um assíncrono Ad Marker API. A outra opção válida é Scte35 (permitida somente se o protocolo de streaming de ingestão estiver definido RTP (MPEG-TS). como Quando Scte35 for especificado, o codificador analisará SCTE-35 sinais do fluxo RTP de entrada (MPEG-TS).
IgnoreCea708ClosedCaptions Edm.bool Optional. Um sinalizador opcional que informa o codificador ao vivo para ignorar quaisquer dados de legendas CEA 708 incorporados no vídeo de entrada. Quando o sinalizador é definido como false (padrão), o codificador vai detectar e inserir novamente os dados CEA 708 nos fluxos de vídeo de saída.
VideoStream VideoStream Optional. Descreve o fluxo de vídeo de entrada. Se esse campo não for especificado, o valor padrão é usado. Essa configuração só será permitida se o protocolo de transmissão de entrada for definida como RTP (MPEG-TS).
AudioStreams AudioStreams Optional. Descreve os fluxos de áudio de entrada. Se esse campo não for especificado, os valores padrão são usados. Essa configuração só será permitida se o protocolo de transmissão de entrada for definida como RTP (MPEG-TS).
SystemPreset Edm.String Especifica a predefinição de codificador a ser usada para este canal. Atualmente, o único valor com suporte é Default720p (padrão).

Para obter mais detalhes, consulte SystemPreset

SystemPreset

Default720p especifica codificar o vídeo para as seis camadas a seguir.

Taxa de bits Largura Altura MáxFPS Perfil Nome do fluxo de saída
3500 1280 720 30 Alto Video_1280x720_3500kbps
2200 960 540 30 Alto Video_960x540_2200kbps
1350 704 396 30 Alto Video_704x396_1350kbps
850 512 288 30 Alto Video_512x288_850kbps
550 384 216 30 Alto Video_384x216_550kbps
200 340 192 30 Alto Video_340x192_200kbps

O áudio é codificado como estéreo AAC-LC a 64 kbps, com taxa de amostragem de 44,1 kHz.

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

VideoStream

Descreve o fluxo de vídeo de entrada. Se esse campo não for especificado, o valor padrão é usado. Essa configuração só será permitida se o protocolo de transmissão de entrada for definida como RTP (MPEG-TS).

Nome Type Descrição
Index Edm.Int1 Um índice baseado em zero que especifica qual fluxo de vídeo de entrada deve ser processado pelo codificador ao vivo no canal. Essa configuração se aplica apenas se o protocolo de streaming de ingestão é RTP (MPEG-TS).

O valor padrão é zero. É recomendável para enviar um fluxo de transporte de programa único (SPTS). Se o fluxo de entrada contém vários programas, o codificador ao vivo analisa a PMT (tabela de mapa de programa) na entrada, identifica as entradas que têm um nome de tipo de fluxo de vídeo MPEG-2 ou H.264 e organiza-os na ordem especificada no PMT. O índice baseado em zero, em seguida, é usado para acompanhar a enésima entrada nesse arranjo.
Name Edm.String Optional. Marca descritiva para este fluxo de vídeo de entrada.

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

AudioStreams

Descreve os fluxos de áudio de entrada. Se esse campo não for especificado, os valores padrão são usados. Essa configuração só será permitida se o protocolo de transmissão de entrada for definida como RTP (MPEG-TS).

Nome Type Descrição
Index Edm.Int16 É recomendável para enviar um fluxo de transporte de programa único (SPTS). Se o fluxo de entrada contém vários programas, o codificador ao vivo no canal analisa a PMT (tabela de mapa de programa) na entrada, identifica as entradas que têm um nome de tipo de fluxo de MPEG-2 AAC ADTS ou AC-3 System-A ou AC-3 System-B ou MPEG-2 Private PES ou áudio MPEG-1 ou áudio MPEG-2, e organiza-os na ordem especificada na PMT. O índice baseado em zero, em seguida, é usado para acompanhar a enésima entrada nesse arranjo.
Name Edm.String Optional. Marca descritiva para este fluxo de áudio de entrada.
Language Edm.String Optional. O identificador de idioma do fluxo de áudio, em conformidade com ISO 639-2, como ENG. Se não estiver presente, o padrão é UND (indefinido).

Pode haver até 8 conjuntos de fluxo de áudio especificados se a entrada para o canal for MPEG-2 TS por RTP. No entanto, não pode haver nenhum par de entradas com o mesmo valor de Índice.

Pode haver até 8 conjuntos {Index, Name, Language} especificados se a entrada para o codificador for MPEG-2 TS sobre RTP. No entanto, não pode haver nenhum par de entradas com o mesmo valor de Índice. Se a entrada para o codificador for RTMP ou HTTP (Smooth Streaming), só pode haver um fluxo de áudio na entrada.

Slate

Essa configuração só tem suporte quando o Encoding Type do Canal é definido Standardcomo .

O codificador ao vivo no canal pode ser sinalizado para alternar para uma imagem slate. Ele também pode ser sinalizado para encerrar um slate em curso.

O codificador ao vivo pode ser configurado para alternar para uma imagem slate e mascarar o sinal de vídeo de entrada em determinadas situações, por exemplo, durante um intervalo de anúncio. Se um slate desse tipo não estiver configurado, o vídeo de entrada não é mascarado durante esse intervalo comercial.

Nome Type Descrição
InsertSlateOnAdMarker Edm.Bool Quando definido como True, essa configuração define o codificador ao vivo para inserir uma imagem slate durante um intervalo de anúncio. O valor padrão é true.
DefaultSlateAssetId Edm.String Optional. Especifica a ID do ativo do Ativo dos Serviços de Mídia que contém a imagem de ardósia. O padrão é nulo.

Antes de criar o canal, a imagem slate, de resolução máxima de 1920 x 1080, no formato JPEG e no máximo 3 megabytes em tamanho, deve ser carregada como um ativo dedicado (nenhum outro arquivo deve estar nesse ativo). O nome do arquivo deve ter uma extensão *.jpg e esse AssetFile deve ser marcado como o arquivo principal para esse ativo. Esse ativo não pode ser criptografado para armazenamento.

Se a ID padrão do ativo slate não for especificada e a inserção de slate no marcador de anúncio for definida como true, uma imagem padrão dos Serviços de Mídia do Azure será usada para mascarar o fluxo de entrada.

Para obter informações mais detalhadas sobre esse tipo e suas propriedades, consulte Visão geral dos canais habilitados para codificação dinâmica.

Criar canais

É possível criar canais usando uma solicitação HTTP POST e especificando os valores da propriedade.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels> HTTP/1.1

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

O corpo da solicitação a seguir mostra como criar um canal habilitado para codificação dinâmica.

{  
   "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":[]  
   }  
}  
  

O corpo da solicitação a seguir mostra como criar um canal na conta que não está habilitado para codificação dinâmica.

{  
"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  
   }  
}  

Se o procedimento for bem-sucedido, um código de status 202 Aceito será emitido junto com uma representação da entidade criada no corpo da resposta.

O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Iniciar canais

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Start HTTP/1.1

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido. O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Parar canais

Um canal só pode ser parado quando está no estado Executando e todos os programas dele foram interrompidos.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Stop HTTP/1.1

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido. O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Listar canais

Os Canais podem ser recuperados usando uma solicitação HTTP GET.

Método URI da solicitação Versão de HTTP
GET Obter todos os Canais:

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

Obter um Canal específico.

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

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se for bem-sucedida, essa operação retornará um código de status 200 OK e uma lista de todos os Canais criados em sua conta dos Serviços de Mídia.

Redefinir Canais

Redefine o estado do Canal do tempo de execução mantido pelo streaming de uma apresentação ao vivo e permite a reutilização de um Canal caso a apresentação seja redefinida ou o codificador seja reconfigurado. Interromper todos os programas antes de chamar Redefinir. É possível chamar Redefinir em um Canal que esteja no estado de execução.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Reset HTTP/1.1

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido. O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Atualizar Canais

Atualiza as propriedades de um Canal existente. O canal precisa estar no estado Parado.

Método URI da solicitação Versão de HTTP
PATCH/PUT/MERGE

Para obter mais informações sobre essas operações, consulte PATCH, PUT, MERGE.
<https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Corpo da solicitação:

"Encoding":{"IgnoreCea708ClosedCaptions": true}  

Caso a atualização seja concluída de forma síncrona, ela emitirá um código de status 204 Sem conteúdo; caso contrário, gerará um código de status 202 Aceito. O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Iniciar Anúncio

O codificador dinâmico pode ser sinalizado para iniciar um anúncio ou uma interrupção comercial usando uma solicitação HTTP POST e especificando valores de propriedade da entidade StartAdvertisement no corpo da solicitação.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/StartAdvertisement HTTP/1.1

Para obter mais informações, consulte Visão geral dos canais habilitados para codificação dinâmica.

Entidade StartAdvertisement

Esta entidade representa a API de início do anúncio; é uma chamada assíncrona para que o codificador ao vivo insira um anúncio ou intervalos comerciais no fluxo de saída.

Para obter mais informações, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
duration Edm.Duration A duração, em segundos, do intervalo comercial. Isso deve ser um valor positivo diferente de zero para iniciar o intervalo comercial. Quando um intervalo comercial está em andamento e a duração é definida como zero com o CueId correspondente ao intervalo comercial em curso, esse intervalo é cancelado.
cueId Edm.Int A ID exclusiva para o intervalo comercial a ser usada pelo aplicativo downstream para executar as ações apropriadas. Deve ser um número inteiro positivo.
showSlate Edm.Bool Optional. Indica para o codificador ao vivo no canal que ele precisa alternar para a imagem slate padrão durante o intervalo comercial (e mascarar a transmissão de vídeo de entrada). O padrão é false.

A imagem usada será a especificada por meio da propriedade padrão de ID do ativo slate no momento da criação do canal.

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Corpo

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

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido.

Finalizar Anúncio

O codificador ao vivo pode ser avisado para encerrar um anúncio contínuo ou intervalo comercial usando uma solicitação HTTP POST.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/EndAdvertisement HTTP/1.1

Essa chamada deve ser invocada somente quando há um anúncio contínuo.

Para obter mais informações, consulte Visão geral dos canais habilitados para codificação dinâmica.

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido.

Mostrar Ardósia

Indica para o codificador ao vivo no canal que ele precisa alternar para a imagem slate padrão durante o intervalo comercial (e mascarar a transmissão de vídeo de entrada). O padrão é false. A imagem usada será a especificada por meio da propriedade padrão de ID do ativo slate no momento da criação do canal.

Use propriedades da Entidade ShowSlate no corpo da solicitação HTTP.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channeled')/ShowSlate HTTP/1.1

Para obter mais informações, consulte Visão geral dos canais habilitados para codificação dinâmica.

Entidade ShowSlate

Para obter mais informações, consulte Visão geral dos canais habilitados para codificação dinâmica.

Nome Type Descrição
duration Edm.Duration A duração, em segundos, do slate. Isso deve ser um valor positivo diferente de zero para iniciar o slate. Se houver um slate contínuo e a duração zero for especificada, esse slate contínuo é encerrado.
assetId Edm.String Especifica a ID do ativo do Ativo dos Serviços de Mídia que contém a imagem de ardósia.

Antes de criar o canal, a imagem slate, de resolução 1920 x 1080, no formato JPEG e no máximo 3 megabytes em tamanho, deve ser carregada como um ativo dedicado (nenhum outro arquivo deve estar nesse ativo).

O codificador pode ser sinalizado para alternar para qualquer imagem slate arbitrária (e não apenas para a imagem especificada por meio da propriedade DefaultSlateAssetId no momento da criação do canal).

Se a propriedade DefaultSlateAssetId for especificada e AssetId não for especificada, a imagem DefaultSlateAssetId é usada para mascarar o fluxo de entrada. Para obter mais informações, consulte Slate.

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Corpo

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

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido.

Ocultar Ardósia

O codificador ao vivo pode ser sinalizado para encerrar um slate contínuo usando uma solicitação HTTP POST.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/HideSlate HTTP/1.1

Essa chamada deve ser invocada somente quando há um slate contínuo.

Para obter mais informações, consulte Visão geral dos canais habilitados para codificação dinâmica.

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido. O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Excluir Canais

Exclui um canal.

Método URI da solicitação Versão de HTTP
Delete (excluir) <https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid') HTTP/1.1

Solicitação de Exemplo

Você pode experimentar o exemplo a seguir na guia Compositor do Fiddler.

Para obter o mais recente x-ms-version:, consulte REST dos Serviços de Mídia.

Cabeçalhos de solicitação:

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>  
  

Se a operação for bem-sucedida, um código de status 202 Aceito será emitido. O código de status 202 Aceito indica uma operação assíncrona. Nesse caso, o valor de cabeçalho da ID de operação também é proporcionado para uso no monitoramento e sondagem do status de operações de execução longa, como iniciar ou parar um Canal. Transmita o valor de cabeçalho do id de operação na entidade de operação para recuperar o status. Para obter mais informações, consulte Operações de Long-Running de sondagem manual.

Consulte Também

Fornecendo mídia sob demanda com os Serviços de Mídia do Azure
Programa