Programa

Un programa le permite controlar la publicación y almacenamiento de segmentos en una secuencia en directo. Los programas pueden ejecutarse de forma simultánea. Esto le permite publicar y archivar partes diferentes del evento según sea necesario.

Puede especificar el número de horas que desea conservar el contenido grabado para el programa estableciendo la ArchiveWindowLength propiedad (hasta 25 horas). Los clientes pueden buscar en el contenido archivado durante el número de horas especificado. Si el programa se ejecuta durante más tiempo del especificado en ArchiveWindowLength, el contenido más antiguo se eliminará. Para obtener más información, vea la documentación de ArchiveWindowLength a continuación.

En este tema encontrará un resumen de la entidad Program y una demostración de cómo ejecutar distintas operaciones con la API de REST de Media Services.

Importante

Al obtener acceso a las entidades de Media Services, debe establecer los campos de encabezado específicos y los valores en las solicitudes HTTP.
Para obtener más información, consulte Configuración para el desarrollo de api REST de Media Services y conexión a Media Services con la API REST de Media Services.

Propiedades de la entidad de programa

La entidad de programa contiene las siguientes propiedades.

Propiedad Tipo Descripción
Id

Solo lectura. Establecido por Servicios multimedia.
Edm.String Identificador del programa, asignado durante la creación. El formato es: nb:pgid:UUID:<GUID>.
Name Edm.String Nombre del programa. La longitud máxima es de 256 caracteres, y puede consistir en cualquier número y carácter del idioma inglés, incluidos '-' y ' ', siempre y cuando empiece y acabe con caracteres alfanuméricos.
AssetId Edm.String Identificador de recurso que se usará para el procesamiento del programa. Solo se puede actualizar la propiedad cuando el programa se encuentra en el estado Detenido.

No se puede eliminar un recurso si lo está usando un programa. Puede eliminar un recurso después de eliminar el programa que lo usa.
Created

Solo lectura. Establecido por Servicios multimedia.
Edm.DateTime Valor de fecha y hora UTC que indica el momento en que se creó.
Description Edm.String Descripción proporcionada por el usuario. La longitud máxima es de 256 caracteres.
ArchiveWindowLength

Necesario.
Edm.Time Número de horas que desea conservar el contenido grabado para el programa. Este valor se puede establecer desde un mínimo de cinco minutos a un máximo de 25 horas. Asimismo, establece el tiempo máximo durante el cual los clientes pueden buscar hacia atrás desde la posición en directo. Los programas pueden transmitirse durante la cantidad de tiempo especificada, pero el contenido que escape de esa longitud de ventana se descartará continuamente. El valor de esta propiedad también determina durante cuánto tiempo los manifiestos de cliente pueden crecer.

Para eliminar contenido archivado, detenga y elimine el programa y, a continuación, elimine el recurso asociado al programa.
LastModified

Solo lectura. Establecido por Servicios multimedia.
Edm.DateTime Fecha y hora de la última modificación.
ManifestName Edm.String Nombre de archivo del manifiesto, sin extensión. Solo se puede actualizar esta propiedad cuando el programa se encuentra en el estado Detenido.
State

Solo lectura. Establecido por Servicios multimedia.
Edm.String Obtiene el estado actual. Los valores posibles son:

- Stopped. Después de crear un programa, este se encuentra en el estado Detenido. En este estado, las propiedades del programa pueden actualizarse, pero no está permitido el streaming. El programa puede iniciarse, actualizarse o eliminarse en este estado.
- Starting. El programa se está iniciando. No se permiten actualizaciones ni streaming durante este estado.
- Running. El programa puede procesar y archivar transmisiones en streaming en directo.
- Stopping. El programa se está deteniendo. No se permiten actualizaciones ni streaming durante este estado.
ChannelId

Solo lectura. Establecido por Servicios multimedia.
Edm.String Identificador del canal principal del programa.
Channel Canal Canal principal del programa especificado por ChannelId.

Crear programas

Cree un nuevo programa.

Método URI de solicitud Versión HTTP
POST <https:// accountname.restv2>.<location.media.azure.net/api/Programs> HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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>  
  

Cuerpo de la solicitud:

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

Si es correcto, se devolverá un código de estado 202 Accepted junto con una representación de la entidad creada en el cuerpo de respuesta.

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

Nota

Esta operación se completa de manera sincrónica, por lo que no hay un valor operation-id para hacer un seguimiento.

Iniciar programas

Inicie un programa. Solo se puede iniciar un programa cuando se encuentra en el estado Detenido y el canal en el estado En ejecución.

Método URI de solicitud Versión HTTP
Inicio <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Start HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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>  
  

Si es correcto, se devuelve un código de estado 202 Accepted. El código de estado 202 Accepted indica una operación asincrónica, en cuyo caso el valor de encabezado operation-id también se proporciona para usarlo en el sondeo y el seguimiento del estado de operaciones de larga duración, tal como el inicio y la detención de un programa. Pase el valor de encabezado operation-id a la entidad de operación para recuperar el estado. Para obtener más información, vea Operaciones de sondeo manual Long-Running.

Detener programas

Detenga un programa. Un programa solo se puede detener cuando se encuentra en el estado En ejecución. Se trata de una operación asincrónica,

Método URI de solicitud Versión HTTP
Stop <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId')/Stop HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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>  
  

Si es correcto, se devuelve un código de estado 202 Accepted. El código de estado 202 Accepted indica una operación asincrónica, en cuyo caso el valor de encabezado operation-id también se proporciona para usarlo en el sondeo y el seguimiento del estado de operaciones de larga duración, tal como el inicio y la detención de un programa. Pase el valor de encabezado operation-id a la entidad de operación para recuperar el estado. Para obtener más información, vea Operaciones de sondeo manual Long-Running.

Enumerar programas

Para recuperar programas, use una solicitud HTTP GET.

Método URI de solicitud Versión HTTP
GET Obtener todos los programas de la cuenta de los Servicios multimedia:

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

Obtener un programa específico de la cuenta de Media Services:

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

Obtener todos los programas asociados a un canal específico:

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

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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>  
  

Si se ejecuta correctamente, esta operación devuelve un código de estado 200 OK y una lista de todos los programas creados en la cuenta de Media Services.

Actualizar programas

Actualice un programa. El programa debe encontrarse en el estado Detenido.

Método URI de solicitud Versión HTTP
PATCH/PUT/MERGE

Para obtener más información acerca de estas operaciones, vea PATCH, PUT, MERGE.
<https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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>  
  

Cuerpo de la solicitud:

{"ArchiveWindowLength":"PT3H"}  

Si la actualización se completa de manera sincrónica, devuelve un código de estado 204 No Content; de lo contrario, devuelve un código de estado 202 Accepted. El código de estado 202 Accepted indica una operación asincrónica, en cuyo caso el valor de encabezado operation-id también se proporciona para usarlo en el sondeo y el seguimiento del estado de operaciones de larga duración, tal como el inicio y la detención de un programa. Pase el valor de encabezado operation-id a la entidad de operación para recuperar el estado. Para obtener más información, vea Operaciones de sondeo manual Long-Running.

Eliminar programas

Elimine un programa. Un programa solo se puede eliminar cuando se encuentra en el estado Detenido.

Método URI de solicitud Versión HTTP
Delete <https:// accountname.restv2>.<location.media.azure.net/api/Programs>('ProgramId') HTTP/1.1

Solicitud de ejemplo

Puede probar el ejemplo siguiente en la pestaña Compositor de Fiddler.

Para obtener la versión más reciente x-ms-version:, consulte REST de Media Services.

Encabezados de solicitud:

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>  
  

Si es correcto, se devuelve un código de estado 204 No Content.

Nota:

Esta operación se completa de manera sincrónica, por lo que no hay un valor operation-id para hacer un seguimiento.

Consulte también

Canal