L'API Video Stitcher vous permet de créer une session en direct chaque fois que vous lancez la lecture d'une diffusion en direct dans laquelle des annonces sont assemblées de manière dynamique pendant les coupures publicitaires. La réponse spécifie l'URL de lecture et la configuration de la session en direct.
Ce document explique comment créer une session en direct. Pour en savoir plus, consultez la documentation REST.
Avant de commencer
Définir une session en direct
Lorsque vous définissez une session en direct, le champ suivant est obligatoire:
liveConfig
Lorsque vous définissez une session en direct, les champs suivants sont facultatifs:
adTagMacros
manifestOptions
Le paramètre adTagMacros
est une liste de paires clé/valeur pour le remplacement de la macro de tag d'emplacement publicitaire. Pour en savoir plus, consultez la section Macros de tag d'emplacement publicitaire.
Le paramètre manifestOptions
spécifie les rendus vidéo générés dans le fichier manifeste vidéo assemblé. Il prend également en charge l'ordre des rendus dans le fichier manifeste vidéo assemblé. Pour en savoir plus, consultez la documentation sur les options du fichier manifeste.
Créer une session en direct
Pour créer une session en direct, 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.
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.
Une annonce doit être encodée avant de pouvoir être intégrée à une session en direct. Lorsque vous créez une session pour une vidéo assemblée, l'API Video Stitcher détermine si l'annonce a déjà été encodée à partir d'une session précédente. L'API ne recherche que les annonces encodées créées par des sessions associées à votre projet Google Cloud. Pour en savoir plus sur ce processus, consultez la présentation.
La réponse est un objet de session en direct. playUri
est l'URL utilisée par l'appareil client pour lire le flux associé à l'annonce pour cette session en direct.
Si vous générez une session au nom des appareils de vos clients, vous pouvez définir les paramètres suivants à l'aide des en-têtes HTTP:
Paramètres | En-tête HTTP |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Vous pouvez ajouter les en-têtes suivants à la requête curl
précédente:
-H "x-forwarded-for: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Si l'en-tête x-forwarded-for
n'est pas fourni, l'API Video Stitcher utilise l'adresse IP du client dans les requêtes de métadonnées d'annonce. Sachez que l'adresse IP du client peut ne pas correspondre à l'adresse IP des appareils de vos clients si les sessions sont générées pour le compte de ces appareils.
Macros de tag d'emplacement publicitaire
Un tag d'emplacement publicitaire peut contenir des macros permettant de générer un tag d'emplacement publicitaire différent pour chaque session. Les macros sont indiquées entre crochets dans le tag d'emplacement publicitaire, comme illustré dans l'exemple suivant:
AD_TAG_URI¯o=[value]
Le adTagUri
est défini dans la configuration en ligne.
Pour remplacer la valeur de la macro de tag d'emplacement publicitaire, fournissez un mappage dans le champ adTagMacros
. Par exemple, si vous souhaitez remplacer la macro [value] par la chaîne bar
, vous devez fournir les éléments suivants:
{ ... "adTagMacros": { "value": "bar" }, ... }
Lorsque l'API Video Stitcher demande les métadonnées d'annonce, elle utilise le tag d'emplacement publicitaire suivant:
AD_TAG_URI¯o=bar
Obtenir une session
Pour obtenir la session en direct, utilisez la méthode projects.locations.liveSessions.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 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
SESSION_ID
: identifiant de la session en direct.
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": "ad-stitched-live-stream-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.
Exemple de playlist composée d'annonces
Voici un exemple de playlist en direct source avant l'assemblage des annonces:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:5
#EXTINF:10.010
segment_00005.ts
#EXTINF:10.010
segment_00006.ts
#EXT-X-DATERANGE:ID="2415919105",START-DATE="2021-06-22T08:32:00Z",DURATION=60,SCTE35-OUT=0xF...
#EXTINF:10.010
segment_00007.ts
#EXTINF:10.010
segment_00008.ts
#EXT-X-DATERANGE:ID="2415919105",START-DATE="2021-06-22T08:39:20Z",SCTE35-IN=0xF...
#EXTINF:10.010
segment_00009.ts
Voici un exemple de playlist en direct source après assemblage des annonces:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:4
#EXT-X-MEDIA-SEQUENCE:5
#EXTINF:10.010
segment_00005.ts
#EXTINF:10.010
segment_00006.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.000
https://ads.us-west1.cdn.videostitcher.goog/ad-1/seg-1.ts
#EXTINF:5.000
https://ads.us-west1.cdn.videostitcher.goog/ad-1/seg-2.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.000
https://ads.us-west1.cdn.videostitcher.goog/ad-2/seg-1.ts
#EXTINF:5.000
https://ads.us-west1.cdn.videostitcher.goog/ad-2/seg-2.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.010
segment_00009.ts