À l'aide de l'API Video Stitcher, vous créez une session en direct chaque fois que vous lancez la lecture d'un flux en direct dans lequel les annonces diffusées par Google Ad Manager sont assemblées de manière dynamique pendant les coupures publicitaires. La réponse contient l'URL de lecture et la configuration de la session en direct.
Cette page explique comment créer et gérer une session en direct activée par Google Ad Manager. Pour en savoir plus sur les sessions en direct qui n'utilisent pas Google Ad Manager, consultez Gérer une session en direct.
Avant de commencer
- Créez une configuration en direct. Pour l'intégration à Google Ad Manager, assurez-vous que l'objet
gamLiveConfig
est défini. - Si vous spécifiez une slate, assurez-vous que l'objet
gamSlate
est défini sur la slate que vous enregistrez.
Créer une session en direct
Vous pouvez créer une session en direct à l'aide du SDK IMA (qui appelle l'API Video Stitcher) ou directement à l'aide de l'API Video Stitcher.
Utiliser le SDK IMA
Si vous intégrez le SDK IMA, il crée la session en direct.
function requestVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherLiveStreamRequest(); streamRequest.liveStreamEventId = 'LIVE_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamRequest.customAssetKey = 'CUSTOM_ASSET_KEY'; streamManager.requestStream(streamRequest); }
Vous pouvez définir ou remplacer les paramètres facultatifs suivants par session:
manifestOptions
: spécifie les interprétations vidéo générées dans le fichier manifeste de la vidéo assemblée et l'ordre des interprétations. Consultez la documentation sur les options de fichier manifeste.adTracking
: sélectionnez le suivi des annonces côté client ou côté serveur.targetingParameters
: un tag d'annonce Google Ad Manager peut contenir des paramètres de ciblage pouvant être mis à jour par session. Consultez la procédure de paramétrage des paramètres de ciblage avec le SDK IMA.
Consultez la section suivante pour savoir comment définir ces paramètres à l'aide du SDK IMA.
Paramètres et forçages facultatifs
Vous pouvez définir des paramètres facultatifs par session, comme le champ manifestOptions
.
Ce champ n'est pas disponible dans la configuration en direct. Vous pouvez également remplacer certains paramètres définis dans la configuration en direct pour une session donnée.
Par exemple, si la valeur par défaut de adTracking
dans la configuration en direct est définie sur SERVER
, vous pouvez remplacer cette valeur par CLIENT
et définir également le champ manifestOptions
dans le SDK IMA en définissant le champ d'objet JSON videoStitcherSessionOptions
.
function requestVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherLiveStreamRequest(); streamRequest.liveStreamEventId = 'LIVE_CONFIG_ID'; streamRequest.region = 'LOCATION'; streamRequest.projectNumber = 'PROJECT_NUMBER'; streamRequest.oAuthToken = 'OAUTH_TOKEN'; streamRequest.networkCode = 'NETWORK_CODE'; streamRequest.customAssetKey = 'CUSTOM_ASSET_KEY'; streamRequest.videoStitcherSessionOptions = { adTracking: 'CLIENT', 'manifestOptions': { 'includeRenditions': [ { 'bitrateBps': 150000, 'codecs': 'hvc1.1.4.L126.B0' }, { 'bitrateBps': 440000, 'codecs': 'hvc1.1.4.L126.B0' }, ], 'bitrateOrder': 'descending' } }; streamRequest.adTagParameters = { "key1": "value1", "key2": "value2", }; streamManager.requestStream(streamRequest); }
Pour en savoir plus, consultez la section Ajouter des options de session de streaming.
Utiliser directement l'API
Pour créer une session en direct à l'aide de l'API directement, utilisez la méthode projects.locations.liveSessions.create
.
Le champ liveConfig
est le seul champ obligatoire dans le corps JSON. Vous pouvez définir ou remplacer les paramètres facultatifs suivants par session en direct (comme illustré dans l'exemple REST suivant):
manifestOptions
: spécifie les interprétations vidéo générées dans le fichier manifeste de la vidéo assemblée et l'ordre des interprétations. Consultez la documentation sur les options de fichier manifeste.adTracking
: sélectionnez le suivi des annonces côté client ou côté serveur. Cette valeur remplace celle de la configuration en direct pour la session.targetingParameters
: un tag d'emplacement publicitaire Google Ad Manager peut contenir des paramètres de ciblage pouvant être mis à jour par session. Fournissez une mise en correspondance dans ce champ (par exemple, pour remplacer la macro[my_key]
par la chaînemy_value
, consultez l'exemple REST).
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre Google Cloud projet situé dans le champ Project number (Numéro de projet) sur la page IAM Settings (Paramètres IAM).LOCATION
: emplacement dans lequel créer votre session. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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 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": "PLAY_URI", "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" } ], "bitrateOrder": "DESCENDING" }, "gamSettings": { "streamId": "STREAM_ID" }, "liveConfig": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "adTracking": "SERVER" }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration pour C# du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API C# de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Go du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Java du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Node.js du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour PHP du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API PHP de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Python du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Ruby du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Ruby de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
La réponse est un objet de session actif. playUri
est l'URL utilisée par l'appareil client pour lire le flux concaténé d'annonces pour cette session en direct.
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.
Si vous générez une session au nom des appareils de vos clients, vous pouvez définir les paramètres suivants à l'aide d'en-têtes HTTP:
Paramètre | 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 à celle des appareils de vos clients si des sessions sont générées pour le compte de leurs appareils.
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 ci-dessous, effectuez les remplacements suivants :
PROJECT_NUMBER
: numéro de votre Google Cloud projet situé dans le champ Project number (Numéro de projet) sur la page IAM Settings (Paramètres IAM).LOCATION
: emplacement dans lequel créer votre session. Utilisez l'une des régions disponibles.Afficher les emplacementsus-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", "manifestOptions": { "includeRenditions": [ { "bitrateBps": 150000, "codecs": "hvc1.1.4.L126.B0" }, { "bitrateBps": 440000, "codecs": "hvc1.1.4.L126.B0" } ], "bitrateOrder": "DESCENDING" }, "gamSettings": { "streamId": "STREAM_ID", "targetingParameters": { "my_key": "my_value" } }, "liveConfig": "projects/PROJECT_NUMBER/locations/LOCATION/liveConfigs/LIVE_CONFIG_ID", "adTracking": "SERVER" }
C#
Avant d'essayer cet exemple, suivez les instructions de configuration pour C# du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API C# de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Go du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Go de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Java du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Java de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Node.js du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Node.js de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour PHP du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API PHP de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Python du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Python de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 pour Ruby du guide de démarrage rapide de l'API Video Stitcher à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Ruby de l'outil de montage vidéo.
Pour vous authentifier auprès de l'API Video Stitcher, configurez le service 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 imbriquée avec des annonces
L'exemple suivant montre une playlist de diffusions en direct source avant l'assemblage d'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
Vous trouverez ci-dessous un exemple de playlist de diffusions en direct source après l'assemblage d'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://dai.google.com/.../ad-1/seg-1.ts
#EXTINF:5.000
https://dai.google.com/.../ad-1/seg-2.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.000
https://dai.google.com/.../ad-2/seg-1.ts
#EXTINF:5.000
https://dai.google.com/.../ad-2/seg-2.ts
#EXT-X-DISCONTINUITY
#EXTINF:10.010
segment_00009.ts
Inspecter les sessions en direct activées par Google Ad Manager
Pour afficher les informations sur les balises d'annonces pour les sessions, utilisez le contrôle de l'activité des flux dans Ad Manager pour afficher les informations sur les demandes d'annonces.