Questa pagina mostra come creare e gestire le sessioni di videoregistratori digitali (DVR) dell'API Live Stream. Una sessione DVR è una risorsa secondaria di un canale. Puoi utilizzare una sessione DVR per registrare un live streaming futuro. Per ulteriori informazioni, consulta la guida separata Creare una sessione DVR.
Configura il progetto Google Cloud e l'autenticazione
Se non hai creato un progetto Google Cloud e le credenziali, consulta Prima di iniziare.Prerequisiti
Prima di creare una sessione DVR, devi creare le seguenti risorse:
Crea un canale con una configurazione di conservazione e una chiave del manifest
Creare una sessione DVR
Per creare una sessione DVR, utilizza il metodo
projects.locations.channels.dvrSessions.create
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale. Utilizza una delle regioni supportateMostra sedius-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
: un identificatore del canale definito dall'utenteDVR_SESSION_ID
: un identificatore definito dall'utente per la sessione DVRINTERVAL_START_TIME
: l'ora Unix del mark-in nel manifest dello stream live originale; utilizza un timestamp in formato "Zulu" UTC RFC3339 (ad es.2014-10-02T15:01:23Z
)INTERVAL_END_TIME
: l'ora Unix del markup nel manifest del live streaming originale; utilizza un timestamp in formato "Zulu" UTC RFC3339 (ad es.2014-10-02T15:01:23Z
)
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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 }
Questo comando crea un'operazione a lunga esecuzione (LRO) che puoi utilizzare per monitorare l'avanzamento della richiesta. Per ulteriori informazioni, consulta Gestire le operazioni che richiedono molto tempo .
Visualizzare i dettagli della sessione DVR
Per visualizzare i dettagli di una sessione DVR, utilizza il metodo
projects.locations.channels.dvrSessions.get
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale. Utilizza una delle regioni supportateMostra sedius-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
: un identificatore del canale definito dall'utenteDVR_SESSION_ID
: un identificatore definito dall'utente per la sessione DVR
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } } ] }
Le sessioni DVR e i manifest generati vengono rimossi quando scade il primo segmento in base al retentionConfig
del canale principale. Se vuoi che la sessione duri più a lungo del periodo di conservazione configurato, crea un clip del canale.
Aggiornare una sessione DVR
Per aggiornare una sessione DVR, utilizza il metodo
projects.locations.channels.dvrSessions.patch
.
Il seguente esempio aggiorna le finestre di tempo DVR utilizzate dalla sessione DVR. Non tutti i campi possono essere aggiornati; consulta l'elenco dei campi supportati.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale. Utilizza una delle regioni supportateMostra sedius-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
: un identificatore del canale definito dall'utenteDVR_SESSION_ID
: un identificatore definito dall'utente per la sessione DVRINTERVAL_START_TIME
: l'ora Unix del mark-in nel manifest dello stream live originale; utilizza un timestamp in formato "Zulu" UTC RFC3339 (ad es.2014-10-02T15:01:23Z
)INTERVAL_END_TIME
: l'ora Unix del markup nel manifest del live streaming originale; utilizza un timestamp in formato "Zulu" UTC RFC3339 (ad es.2014-10-02T15:01:23Z
)
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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 }
Questo comando crea un'operazione a lunga esecuzione (LRO) che puoi utilizzare per monitorare l'avanzamento della richiesta. Per ulteriori informazioni, consulta Gestire le operazioni che richiedono molto tempo .
Le richieste di aggiornamento vengono rifiutate se lo stato della sessione del DVR èLIVE
e l'aggiornamento potrebbe sovrascrivere il manifest DVR corrente. L'unica
eccezione è quando l'aggiornamento accorcia la sessione DVR (ad esempio,
modificando l'ora di fine in quella corrente o in un momento nel passato); in questo caso, la sessione DVR
si interrompe immediatamente e passa allo stato COOLDOWN
.
Dopo il periodo di attesa di 60 secondi, il file manifest DVR viene sovrascritto in modo da riflettere le ore di inizio e di fine aggiornate.
Elenco sessioni DVR
Per elencare tutte le sessioni DVR create per un canale, utilizza il metodo
projects.locations.channels.dvrSessions.list
.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud, che si trova nel campo Numero progetto della pagina Impostazioni IAMLOCATION
: la località in cui si trova il tuo canale. Utilizza una delle regioni supportateMostra sedius-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
: un identificatore del canale definito dall'utente
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } } ] }, ] }
Eliminare una sessione DVR
Per eliminare una sessione DVR, utilizza il metodo
projects.locations.channels.dvrSessions.delete
. Questo metodo elimina l'attività della sessione DVR e il manifest generato.
Le risorse create nel bucket Cloud Storage vengono eliminate in base alla configurazione di conservazione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
PROJECT_NUMBER
: il numero del tuo progetto Google Cloud. Puoi trovarlo nel campo Numero progetto della pagina Impostazioni IAM.LOCATION
: la località in cui si trova il tuo canale. Utilizza una delle regioni supportateMostra sedius-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
: un identificatore del canale definito dall'utenteDVR_SESSION_ID
: un identificatore definito dall'utente per la sessione DVR
Per inviare la richiesta, espandi una di queste opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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 }
Questo comando crea un'operazione a lunga esecuzione (LRO) che puoi utilizzare per monitorare l'avanzamento della richiesta. Per ulteriori informazioni, consulta Gestire le operazioni che richiedono molto tempo .