Cette page vous explique comment créer et gérer des sessions d'enregistreur numérique vidéo (DVR) de l'API Live Stream. Une session DVR est une sous-ressource d'une chaîne. Vous pouvez utiliser une session DVR pour enregistrer une future diffusion en direct. Pour en savoir plus, consultez le guide distinct Créer une session DVR.
Configurer votre authentification et votre projet Google Cloud
Si vous n'avez pas encore créé de projet Google Cloud ni d'identifiants, consultez la section Avant de commencer.Prérequis
Vous devez créer les ressources suivantes avant de créer une session DVR:
Créer une chaîne avec une configuration de conservation et une clé de fichier manifeste
Créer une session DVR
Pour créer une session DVR, utilisez la méthode projects.locations.channels.dvrSessions.create
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre projet Google Cloud, qui se trouve dans le champ Numéro de projet sur la page Paramètres IAM.LOCATION
: emplacement de votre chaîne. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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
: identifiant défini par l'utilisateur pour le canalDVR_SESSION_ID
: identifiant défini par l'utilisateur pour la session DVRINTERVAL_START_TIME
: heure Unix de la balise d'entrée dans le fichier manifeste du flux en direct d'origine. Utilise un code temporel au format UTC "Zulu" RFC3339 (par exemple,2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: l'époque Unix de la balise dans le fichier manifeste du flux en direct d'origine. Utilise un code temporel au format "Zulu" UTC RFC3339 (par exemple,2014-10-02T15:01:23Z
).
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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 }
Cette commande crée une opération de longue durée que vous pouvez utiliser pour suivre la progression de votre requête. Pour en savoir plus, consultez la section Gérer les opérations de longue durée .
Obtenir les détails d'une session DVR
Pour obtenir les détails d'une session DVR, utilisez la méthode projects.locations.channels.dvrSessions.get
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre projet Google Cloud, qui se trouve dans le champ Numéro de projet sur la page Paramètres IAM.LOCATION
: emplacement de votre chaîne. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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
: identifiant défini par l'utilisateur pour le canalDVR_SESSION_ID
: identifiant défini par l'utilisateur pour la session DVR
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" } } ] }
Les sessions DVR et les fichiers manifestes générés sont supprimés lorsque le premier segment expire selon le retentionConfig
du canal parent. Si vous souhaitez que la session dure au-delà de la période de conservation configurée, créez plutôt un extrait de chaîne.
Mettre à jour une session DVR
Pour mettre à jour une session DVR, utilisez la méthode projects.locations.channels.dvrSessions.patch
.
L'exemple suivant met à jour les périodes d'enregistrement numérique vidéo utilisées par la session d'enregistrement numérique vidéo. Tous les champs ne peuvent pas être mis à jour. Consultez la liste des champs pris en charge.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre projet Google Cloud, qui se trouve dans le champ Numéro de projet sur la page Paramètres IAM.LOCATION
: emplacement de votre chaîne. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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
: identifiant défini par l'utilisateur pour le canalDVR_SESSION_ID
: identifiant défini par l'utilisateur pour la session DVRINTERVAL_START_TIME
: heure Unix de la balise d'entrée dans le fichier manifeste du flux en direct d'origine. Utilise un code temporel au format UTC "Zulu" RFC3339 (par exemple,2014-10-02T15:01:23Z
).INTERVAL_END_TIME
: l'époque Unix de la balise dans le fichier manifeste du flux en direct d'origine. Utilise un code temporel au format "Zulu" UTC RFC3339 (par exemple,2014-10-02T15:01:23Z
).
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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 }
Cette commande crée une opération de longue durée que vous pouvez utiliser pour suivre la progression de votre requête. Pour en savoir plus, consultez la section Gérer les opérations de longue durée .
Les requêtes de mise à jour sont refusées si l'état de la session DVR est LIVE
et que la mise à jour peut écraser le fichier manifeste DVR actuel. La seule exception à cette règle est lorsque la mise à jour raccourcit la session DVR (par exemple, en définissant l'heure de fin sur le moment présent ou un moment passé). Dans ce cas, la session DVR s'arrête immédiatement et passe à l'état COOLDOWN
.
Après la période d'attente de 60 secondes, le fichier manifeste DVR est écrasé pour refléter les heures de début et de fin mises à jour.
Lister les sessions DVR
Pour répertorier toutes les sessions DVR que vous avez créées pour un canal, utilisez la méthode projects.locations.channels.dvrSessions.list
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre projet Google Cloud, qui se trouve dans le champ Numéro de projet sur la page Paramètres IAM.LOCATION
: emplacement de votre chaîne. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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
: identifiant défini par l'utilisateur pour le canal
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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" } } ] }, ] }
Supprimer une session DVR
Pour supprimer une session DVR, utilisez la méthode projects.locations.channels.dvrSessions.delete
. Cette méthode supprime la tâche de session DVR et le fichier manifeste généré.
Les ressources créées dans le bucket Cloud Storage sont supprimées conformément à la configuration de la conservation.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre projet Google Cloud, qui se trouve dans le champ Numéro de projet sur la page Paramètres IAM.LOCATION
: emplacement de votre chaîne. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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
: identifiant défini par l'utilisateur pour le canalDVR_SESSION_ID
: identifiant défini par l'utilisateur pour la session DVR
Pour envoyer votre requête, développez l'une des options suivantes :
Vous devriez recevoir une réponse JSON de ce type :
{ "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 }
Cette commande crée une opération de longue durée que vous pouvez utiliser pour suivre la progression de votre requête. Pour en savoir plus, consultez la section Gérer les opérations de longue durée .