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.