Programa

Um Programa permite que você controle a publicação e o armazenamento de segmentos em uma transmissão ao vivo. Os programas podem ser executados simultaneamente. Isso permite publicar e arquivar diversas partes do evento conforme a necessidade.

Você pode especificar o número de horas que deseja manter o conteúdo gravado para o programa definindo a ArchiveWindowLength propriedade (até 25 horas). Os clientes podem procurar o número de horas especificado no conteúdo arquivado. Se o programa for executado por um período superior ao ArchiveWindowLength, o conteúdo mais antigo será removido. Para obter mais informações, consulte a documentação do ArchiveWindowLength abaixo.

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

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.

Propriedades da entidade Programa

A entidade Programa contém as propriedades a seguir.

Propriedade Type Descrição
Id

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.String ID do Programa, atribuído no momento da criação. O formato é: nb:pgid:UUID:<GUID>.
Name Edm.String Nome do Programa. O comprimento máximo é 256 caracteres, podendo conter qualquer número e caractere do inglês, incluindo "-" e " ", desde que comece e termine com caracteres alfanuméricos.
AssetId Edm.String ID do Ativo a ser usado para o processamento do Programa. A propriedade só pode ser atualizada quando o Programa está no estado Parado.

Um ativo não pode ser excluído se estiver em uso por um programa. Você pode excluir um ativo depois de excluir o programa que o utiliza.
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.
ArchiveWindowLength

Obrigatórios.
Edm.Time O número de horas que você quer reter o conteúdo registrado para o programa. Esse valor pode ser definido entre o mínimo de 5 minutos e o máximo de 25 horas. Isso também define o período anterior máximo que os clientes podem procurar a partir da posição atual ao vivo. Os programas podem ser executados pelo período de tempo especificado, mas o conteúdo que estiver por trás da janela de tamanho será continuamente descartado. Esse valor desta propriedade também determina por quanto tempo os manifestos do cliente podem crescer.

Para excluir o conteúdo arquivado, pare e exclua o programa e, depois, exclua o ativo associado ao programa.
LastModified

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.DateTime Data e a hora da última modificação.
ManifestName Edm.String Nome do arquivo de manifesto, sem extensão. Essa propriedade só pode ser atualizada quando o Programa está no estado Parado.
State

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.String Obtém o estado atual. Os valores possíveis incluem:

- Parado. Depois que o Programa é criado, ele fica no estado Parado. Nesse estado, é possível atualizar as propriedades do Programa, mas não é permitido fazer streaming. É possível iniciar, atualizar ou excluir o Programa nesse estado.
- Iniciando. O Programa está sendo inicializado. Nenhuma atualização ou streaming é permitido durante esse estado.
- Executando. O Programa é capaz de processar e arquivar transmissões ao vivo.
- Parando. O Programa está sendo parado. Nenhuma atualização ou streaming é permitido durante esse estado.
ChannelId

Somente leitura. Configurada pelos Serviços de Mídia.
Edm.String ID do Canal pai do Programa.
Channel Channel O canal pai do Programa especificado por ChannelId.

Criar Programas

Cria um novo Programa.

Método URI da solicitação Versão de HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Programs> 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/Programs 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:

{"Id":null,"Name":"testprogram001","Description":"","Created":"0001-01-01T00:00:00","LastModified":"0001-01-01T00:00:00","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":null,"ManifestName":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.

{"odata.metadata":"https://testrest.cloudapp.net/api/$metadata#Programs/@Element","Id":"nb:pgid:UUID:b870dd57-4b04-41b6-849d-b2470e50e7e6","Name":"testprogram001","Description":"","Created":"2014-08-11T18:12:27.8381256Z","LastModified":"2014-08-11T18:12:27.8381256Z","ChannelId":"nb:chid:UUID:83bb19de-7abf-4907-9578-abe90adfbabe","AssetId":"nb:cid:UUID:bc495364-5357-42a1-9a9d-be54689cfae2","ArchiveWindowLength":"PT1H","State":"Stopped","ManifestName":"f91329ec-26f5-4026-87f5-f5437d4da9e6"}  
  

Observação

Essa operação é concluída simultaneamente, por isso, não há ID de operação para acompanhar.

Iniciar Programas

Iniciar um Programa. Um Programa só pode ser iniciado quando está no estado Parado e o canal está no estado Em Execução.

Método URI da solicitação Versão de HTTP
Iniciar <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/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/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/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 Programa. 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 Programas

Pare um Programa. Um Programa só pode ser parado quando está no estado Em Execução. Esta é uma operação assíncrona.

Método URI da solicitação Versão de HTTP
Stop <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/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/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc')/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 Programa. 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 Programas

Os Programas são recuperados usando uma solicitação HTTP GET.

Método URI da solicitação Versão de HTTP
GET Obter todos os Programas na conta de Serviços de Mídia:

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

Obter um Programa específico na conta de Serviços de Mídia:

<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')

Obter todos os Programas associados a um Canal específico:

<https:// accountname.restv2>.<location.media.azure.net/api/Channels>('channelid')/Programs
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/Programs 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 bem-sucedida, esta operação retornará um código de status 200 OK e uma lista de todos os Programas criados em sua conta dos Serviços de Mídia.

Atualizar Programas

Atualize um Programa. O Programa 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/Programs>('ProgramId') 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/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') 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:

{"ArchiveWindowLength":"PT3H"}  

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 Programa. 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 Programas

Exclua um Programa. Um Programa só pode ser excluído quando está no estado Parado.

Método URI da solicitação Versão de HTTP
Delete (excluir) <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') 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/Programs('nb:pgid:UUID:0f9ceb51-50fe-4769-aaed-f8c19d76b9bc') 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 204 Sem Conteúdo será retornado.

Observação

Essa operação é concluída simultaneamente, por isso, não há ID de operação para acompanhar.

Consulte Também

Channel