En esta página, se muestra cómo crear y administrar sesiones de grabador de video digital (DVR) de la API de Live Stream. Una sesión de DVR es un subrecurso de un canal. Puedes usar una sesión de DVR para grabar una transmisión en vivo futura. Para obtener más información, consulta la guía independiente Cómo crear una sesión de DVR.
Configura el proyecto de Google Cloud y la autenticación
Si no creaste un proyecto de Google Cloud ni credenciales, consulta Antes de comenzar.Requisitos previos
Debes crear los siguientes recursos antes de crear una sesión de DVR:
Crea un canal con una configuración de retención y una clave de manifiesto
Crea una sesión de DVR
Para crear una sesión de DVR, usa el método projects.locations.channels.dvrSessions.create
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.DVR_SESSION_ID
: Es un identificador definido por el usuario para la sesión de DVR.INTERVAL_START_TIME
: Es la marca de tiempo de época Unix en el manifiesto de transmisión en vivo original. Usa una marca de tiempo en formato RFC3339 UTC “Zulu” (por ejemplo,2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: Es el tiempo de época Unix marcado en el manifiesto de transmisión en vivo original. Usa una marca de tiempo en formato RFC3339 UTC “Zulu” (por ejemplo,2014-10-02T15:01:23Z
).
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "verb": "create", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Este comando crea una operación de larga duración (LRO) que puedes usar para hacer un seguimiento del progreso de tu solicitud. Consulta Administra operaciones de larga duración para obtener más información.
Obtén detalles de la sesión de DVR
Para obtener los detalles de una sesión de DVR, usa el método projects.locations.channels.dvrSessions.get
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.DVR_SESSION_ID
: Es un identificador definido por el usuario para la sesión de DVR.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SUCCEEDED", "dvrManifests": [ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8" } ], "dvrWindows": [ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }
Las sesiones de DVR y los manifiestos generados se quitan cuando vence el primer segmento según el retentionConfig
del canal superior. Si quieres que la sesión dure más que la ventana de retención configurada, crea un clip de canal.
Cómo actualizar una sesión de DVR
Para actualizar una sesión de DVR, usa el método projects.locations.channels.dvrSessions.patch
.
En el siguiente ejemplo, se actualizan los períodos del DVR que usa la sesión del DVR. No se pueden actualizar todos los campos. Consulta la lista de campos admitidos.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.DVR_SESSION_ID
: Es un identificador definido por el usuario para la sesión de DVR.INTERVAL_START_TIME
: Es la marca de tiempo de época Unix en el manifiesto de transmisión en vivo original. Usa una marca de tiempo en formato RFC3339 UTC “Zulu” (por ejemplo,2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: Es el tiempo de época Unix marcado en el manifiesto de transmisión en vivo original. Usa una marca de tiempo en formato RFC3339 UTC “Zulu” (por ejemplo,2014-10-02T15:01:23Z
).
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "verb": "update", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Este comando crea una operación de larga duración (LRO) que puedes usar para hacer un seguimiento del progreso de tu solicitud. Consulta Administra operaciones de larga duración para obtener más información.
Las solicitudes de actualización se rechazan si el estado de la sesión del DVR es LIVE
y la actualización podría reemplazar el manifiesto de DVR actual. La única
excepción a esto es cuando la actualización acorta la sesión de DVR (por ejemplo,
cambiando la hora de finalización a ahora o a algún momento en el pasado). En este caso, la sesión de DVR
se detiene de inmediato y entra en el estado COOLDOWN
.
Después del período de inactividad de 60 segundos, se reemplaza el manifiesto de DVR para reflejar las horas de inicio y finalización actualizadas.
Enumera las sesiones de DVR
Para enumerar todas las sesiones de DVR que creaste para un canal, usa el método projects.locations.channels.dvrSessions.list
.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "dvrSessions": [ { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SCHEDULED", "dvrManifests":[ { "manifestKey": "manifest_hls", "outputUri": "gs://BUCKET_NAME/dvr/DVR_SESSION_ID/main.m3u8" } ], "dvrWindows":[ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }, { "name": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/my-other-DVR-session", "createTime": CREATE_TIME, "startTime": START_TIME, "updateTime": UPDATE_TIME, "state": "SCHEDULED", "dvrManifests":[ { "manifestKey": "manifest_hls2", "outputUri": "gs://BUCKET_NAME/dvr/my-other-DVR-session/main.m3u8" } ], "dvrWindows":[ { "timeInterval": { "startTime": "INTERVAL_START_TIME", "endTime": "INTERVAL_END_TIME" } } ] }, ] }
Cómo borrar una sesión de DVR
Para borrar una sesión de DVR, usa el método projects.locations.channels.dvrSessions.delete
. Este método borra la tarea de la sesión de DVR y el manifiesto generado.
Los recursos creados en el bucket de Cloud Storage se borran según la configuración de retención.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud, que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se encuentra tu canal. Usa una de las regiones admitidas.Cómo mostrar ubicacionesus-central1
us-east1
us-east4
us-west1
us-west2
northamerica-northeast1
southamerica-east1
asia-east1
asia-east2
asia-south1
asia-northeast1
asia-southeast1
australia-southeast1
europe-north1
europe-west1
europe-west2
europe-west3
europe-west4
CHANNEL_ID
: Es un identificador definido por el usuario para el canal.DVR_SESSION_ID
: Es un identificador definido por el usuario para la sesión de DVR.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.video.livestream.v1.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/channels/CHANNEL_ID/dvrSessions/DVR_SESSION_ID", "verb": "delete", "requestedCancellation": false, "apiVersion": "v1" }, "done": false }
Este comando crea una operación de larga duración (LRO) que puedes usar para hacer un seguimiento del progreso de tu solicitud. Consulta Administra operaciones de larga duración para obtener más información.