Insérer des annonces dans vos diffusions en direct
Cette page explique comment insérer des annonces dans une diffusion en direct à l'aide de l'API Video Stitcher et de curl
, de PowerShell ou des bibliothèques clientes.
Avant de commencer
Avant d'appeler l'API Video Stitcher, procédez comme suit:
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer Video Stitcher API :
gcloud services enable videostitcher.googleapis.com
-
Créez des identifiants d'authentification locaux pour votre compte Google :
gcloud auth application-default login
-
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/videostitcher.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
- Installez Google Cloud CLI.
-
Pour initialiser gcloudCLI, exécutez la commande suivante :
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Activer Video Stitcher API :
gcloud services enable videostitcher.googleapis.com
-
Créez des identifiants d'authentification locaux pour votre compte Google :
gcloud auth application-default login
-
Attribuez des rôles à votre compte Google. Exécutez la commande suivante une fois pour chacun des rôles IAM suivants :
roles/videostitcher.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- en remplaçant
PROJECT_ID
par l'ID de votre projet : - Remplacez
EMAIL_ADDRESS
par votre adresse e-mail. - Remplacez
ROLE
par chaque rôle individuel.
- en remplaçant
- Ce guide de démarrage rapide nécessite un fichier manifeste MPEG-DASH ou HTTP Live Streaming (HLS). Vous pouvez en créer un en suivant l'un des guides de démarrage rapide de l'API Live Stream dans la section Lire la diffusion en direct générée.
- Si vous le souhaitez, vous pouvez utiliser un réseau de diffusion de contenu (CDN) dans le cadre de ce guide de démarrage rapide. Si vous n'avez pas configuré de CDN, suivez les étapes du guide de démarrage rapide pour Media CDN en apportant les modifications suivantes :
- Importez des fichiers manifestes MPEG-DASH ou HLS et des segments multimédias dans le bucket Cloud Storage.
- Vous n'avez pas besoin de rendre votre bucket Cloud Storage lisible publiquement.
- Vous pouvez utiliser des URL signées ou non signées.
Créer une clé CDN
L'API Video Stitcher peut récupérer des vidéos à partir d'un réseau de diffusion de contenu (CDN). Si l'élément vidéo est protégé par la signature d'URL, une clé CDN doit être enregistrée auprès de l'API Video Stitcher.
Pour enregistrer la clé CDN, utilisez la méthode projects.locations.cdnKeys.create
.
REST (Media CDN)
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement dans lequel créer votre clé CDN. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
CDN_KEY_ID
: identifiant défini par l'utilisateur pour la clé CDN, qui deviendra le dernier composant du nom de ressource de la clé CDN. Cet ID ne peut contenir que des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, le dernier doit être une lettre ou un chiffre, et l'ID ne doit pas dépasser 63 caractères.HOSTNAME
: nom d'hôte du CDN à associer à cette clé CDN (par exemple, une adresse IP telle que35.190.60.252
ou un nom de domaine tel quecdn.example.com
)MEDIA_CDN_KEYNAME
: nom de la collection de clés de la clé Media CDNMEDIA_CDN_PRIVATE_KEY
: clé privée Ed25519 de 64 octets sous forme de chaîne encodée en base64. Pour en savoir plus, consultez la section Créer une clé privée pour Media CDN.
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
name
. Vous l'utiliserez dans la section suivante.
REST (Cloud CDN)
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement dans lequel créer votre clé CDN. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
CDN_KEY_ID
: identifiant défini par l'utilisateur pour la clé CDN, qui deviendra le dernier composant du nom de ressource de la clé CDN. Cet ID ne peut contenir que des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, le dernier doit être une lettre ou un chiffre, et l'ID ne doit pas dépasser 63 caractères.HOSTNAME
: nom d'hôte du CDN à associer à cette clé CDN (par exemple, une adresse IP telle que35.190.60.252
ou un nom de domaine tel quecdn.example.com
)GCDN_KEYNAME
: nom de la clé Cloud CDNGCDN_PRIVATE_KEY
: code secret de la chaîne encodée en base64 pour la clé Cloud CDN.
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
name
. Vous l'utiliserez dans la section suivante.
REST (Akamai CDN)
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement dans lequel créer votre clé CDN. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
CDN_KEY_ID
: identifiant défini par l'utilisateur pour la clé CDN, qui deviendra le dernier composant du nom de ressource de la clé CDN. Cet ID ne peut contenir que des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, le dernier doit être une lettre ou un chiffre, et l'ID ne doit pas dépasser 63 caractères.HOSTNAME
: nom d'hôte du CDN à associer à cette clé CDN (par exemple, une adresse IP telle que35.190.60.252
ou un nom de domaine tel quecdn.example.com
)AKAMAI_TOKEN_KEY
: clé de jeton de chaîne encodée en base64 pour la configuration périphérique du CDN Akamai
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
name
. Vous l'utiliserez dans la section suivante.
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Vérifier le résultat
Pour vérifier si la clé CDN a été créée, utilisez la méthode projects.locations.operations.get
. Si la réponse contient "done: false"
, répétez la commande jusqu'à ce qu'elle contienne "done: true"
.
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement des données. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: identifiant de l'opération.
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.common.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.CdnKey", "name": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID", "hostname": "HOSTNAME", "mediaCdnKey": { "keyName": "MEDIA_CDN_KEYNAME" } } }
Créer un écran
L'API Video Stitcher insère une vidéo d'écran par défaut lorsque les annonces ne peuvent pas être insérées. Vous devez enregistrer une vidéo d'écran avec l'API Video Stitcher pour indiquer l'écran qui sera utilisé en l'absence d'annonces. La vidéo de l'écran peut être n'importe quel fichier MP4 avec au moins une piste audio.
Pour créer un écran, utilisez la méthode projects.locations.slates.create
.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement dans lequel créer l'écran. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SLATE_ID
: identifiant défini par l'utilisateur pour l'écran. Cet ID ne peut contenir que des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, le dernier doit être une lettre ou un chiffre, et l'ID ne doit pas dépasser 63 caractères.SLATE_URL
: URI public d'une vidéo MP4 avec au moins une piste audio (exemple de vidéo).
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
name
. Vous l'utiliserez dans la section suivante.
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Vérifier le résultat
Pour vérifier si l'écran a été créé, utilisez la méthode projects.locations.operations.get
. Si la réponse contient "done: false"
, répétez la commande jusqu'à ce qu'elle contienne "done: true"
.
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement des données. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
OPERATION_ID
: identifiant de l'opération.
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.common.OperationMetadata", "createTime": CREATE_TIME, "endTime": END_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.video.stitcher.v1.Slate", "name": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "uri": "SLATE_URL" } }
Créer la configuration active
Avant de créer une session en direct, vous devez créer une configuration pour celle-ci. De nombreuses sessions en direct peuvent partager la même configuration.
Pour créer la configuration, utilisez la méthode projects.locations.liveConfigs.create
.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement dans lequel créer votre configuration active. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: identifiant défini par l'utilisateur pour la configuration active. Cet ID ne peut contenir que des lettres minuscules, des chiffres et des traits d'union. Le premier caractère doit être une lettre, le dernier doit être une lettre ou un chiffre, et l'ID ne doit pas dépasser 63 caractères.SOURCE_LIVESTREAM_URI
: URI du fichier manifeste de la diffusion en direct. Utilisez un URI public ou un URI non signé pour lequel vous avez enregistré une clé CDN.AD_TAG_URI
URI public du tag d'emplacement publicitaire par défaut. Si vous n'en avez pas, vous pouvez utiliser un exemple de modèle linéaire intégré unique.SLATE_ID
: ID de l'écran à utiliser en l'absence d'annonces assemblées.
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "verb": "create", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Obtenir la configuration
Pour obtenir la configuration, utilisez la méthode projects.locations.liveConfigs.get
.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement de la configuration active. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: identifiant défini par l'utilisateur pour la configuration active
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/liveConfigs/LIVE_CONFIG_ID", "sourceUri": "SOURCE_LIVESTREAM_URI", "adTagUri": "AD_TAG_URI", "state": "READY", "adTracking": "SERVER", "defaultSlate": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "stitchingPolicy": "CUT_CURRENT" }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Assurez-vous que l'état est défini sur READY
. Si ce n'est pas le cas, attendez quelques secondes et renvoyez la requête.
Créer une session
Afin de créer une session pour une vidéo assemblée avec une annonce, utilisez la méthode projects.locations.liveSessions.create
.
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud situé dans le champ Numéro du projet sur la page Paramètres IAMLOCATION
: emplacement dans lequel créer votre session (utilisez l'une des régions compatibles)Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: identifiant défini par l'utilisateur pour la configuration active
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/liveSessions/SESSION_ID", "playUri": "PLAY_URI", "liveConfig": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Une fois la réponse reçue, vous pouvez lire la diffusion en direct assemblée en référençant l'URI à partir du champ playUri
de l'objet de réponse.
L'API Video Stitcher génère un ID de session unique pour chaque requête. Une session expire si l'playUri
n'est pas demandée au cours des cinq dernières minutes.
Regarder la diffusion en direct assemblée avec des annonces
Lisez la diffusion en direct assemblée à l'aide de l'URI du champ playUri
de l'objet de réponse. Pour regarder cette diffusion en direct dans Shaka Player, procédez comme suit:
- Accédez à Shaka Player, un lecteur multimédia en ligne.
- Cliquez sur Contenu personnalisé dans la barre de navigation supérieure.
- Cliquez sur le bouton +.
Collez la valeur du champ
playUri
(PLAY_URI) dans la zone URL du fichier manifeste.Saisissez un nom dans la zone Nom.
Cliquez sur Enregistrer.
Cliquez sur Play (Jouer).
Insérer des coupures publicitaires
L'API Video Stitcher insère les annonces extraites du tag d'emplacement publicitaire pour chaque coupure publicitaire. Les coupures publicitaires sont indiquées dans le fichier manifeste à l'aide de repères d'annonces. Les repères d'annonce sont insérés par les encodeurs de la diffusion en direct. Pour en savoir plus sur les repères d'annonce HLS et DASH compatibles, consultez la documentation sur les repères d'annonce.
Si vous avez utilisé l'API Live Stream pour créer votre diffusion en direct, vous pouvez utiliser des événements de chaîne pour insérer des coupures publicitaires.
Vérifier qu'une annonce a bien été assemblée
Une annonce doit être encodée avant de pouvoir être intégrée à une session en direct. Si vous voyez une vidéo de l'écran au lieu d'une annonce, attendez l'encodage de l'annonce et insérez une autre coupure publicitaire.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Google Cloud contenant les ressources.
Supprimer la configuration active
Pour supprimer la configuration active, exécutez la commande suivante:
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement de la configuration active. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: identifiant défini par l'utilisateur pour la configuration active
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "verb": "delete", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Supprimer l'écran
Pour supprimer la configuration de l'écran, exécutez la commande suivante:
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement où se trouve votre écran. Utilisez l'une des régions compatibles.Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SLATE_ID
: identifiant défini par l'utilisateur pour l'écran
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/slates/SLATE_ID", "verb": "delete", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Supprimer la clé CDN
Pour supprimer la clé CDN, exécutez la commande suivante:
REST
Avant d'utiliser les données de requête, effectuez les remplacements suivants:
PROJECT_NUMBER
: numéro de votre projet Google Cloud, situé dans le champ Numéro du projet sur la page Paramètres IAM.LOCATION
: emplacement où se trouve votre clé CDN (utilisez l'une des régions compatibles)Afficher les lieuxus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
CDN_KEY_ID
: identifiant défini par l'utilisateur pour la clé CDN
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.common.OperationMetadata", "createTime": CREATE_TIME, "target": "projects/PROJECT_NUMBER/locations/LOCATION/cdnKeys/CDN_KEY_ID", "verb": "delete", "cancelRequested": false, "apiVersion": "v1" }, "done": false }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration de C# dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher C#.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Go
Avant d'essayer cet exemple, suivez les instructions de configuration de Go dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Go.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Java
Avant d'essayer cet exemple, suivez les instructions de configuration de Java dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Java.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration de Node.js dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Node.js.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
PHP
Avant d'essayer cet exemple, suivez les instructions de configuration de PHP dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher PHP.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Python
Avant d'essayer cet exemple, suivez les instructions de configuration de Python dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Python.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Ruby
Avant d'essayer cet exemple, suivez les instructions de configuration de Ruby dans le guide de démarrage rapide de l'API Video Stitcher à l'aide de bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Video Stitcher Ruby.
Pour vous authentifier auprès de l'API Video Stitcher, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Révoquer vos identifiants
-
Facultatif : Révoquez les identifiants d'authentification que vous avez créés et supprimez le fichier d'identifiants local.
gcloud auth application-default revoke
-
Facultatif : Révoquez les identifiants de la CLI gcloud.
gcloud auth revoke
Étapes suivantes
Consultez la documentation de référence de l'API Video Stitcher.