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.