À l'aide de l'API Video Stitcher, vous créez une session de vidéo à la demande (VOD) chaque fois que vous insérez dynamiquement des annonces diffusées par Google Ad Manager avant leur diffusion sur les appareils clients. Lorsque vous créez une session, la réponse inclut l'URL de lecture et des informations sur les annonces que vous avez insérées dans la vidéo.
Cette page explique comment créer et gérer une session VOD activée par Google Ad Manager. Pour en savoir plus sur les sessions VOD qui n'utilisent pas Google Ad Manager, consultez Gérer une session VOD.
Avant de commencer
- Créez une configuration VOD. Pour l'intégration à Google Ad Manager, assurez-vous que l'objet
gamVodConfig
est défini.
Créer une session
Vous pouvez créer une session VOD à 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 VOD.
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION '; streamRequest.projectNumber = 'PROJECT_NUMBER '; streamRequest.oAuthToken = 'OAUTH_TOKEN '; streamRequest.networkCode = 'NETWORK_CODE '; streamManager.requestStream(streamRequest); }
Les sessions VOD activées par Google Ad Manager doivent utiliser le suivi des annonces côté client.
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.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
function requestVodVideoStitcherStream() { const streamRequest = new google.ima.dai.api.VideoStitcherVodStreamRequest(); streamRequest.vodConfigId = 'VOD_CONFIG_ID'; streamRequest.region = 'LOCATION '; streamRequest.projectNumber = 'PROJECT_NUMBER '; streamRequest.oAuthToken = 'OAUTH_TOKEN '; streamRequest.networkCode = 'NETWORK_CODE '; streamRequest.videoStitcherSessionOptions = { 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); }
Utiliser directement l'API
Pour créer une session pour une vidéo tronquée par des annonces, utilisez la méthode projects.locations.vodSessions.create
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
: 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).PROJECT_NUMBER
: emplacement dans lequel créer votre session. Utilisez l'une des régions disponibles.LOCATION Afficher les emplacementsus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: identifiant défini par l'utilisateur pour la configuration VODVOD_CONFIG_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
cat > request.json << 'EOF' { "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "adTracking": "SERVER" } EOF
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions"
PowerShell (Windows)
Enregistrez le corps de la requête dans un fichier nommé request.json
.
Exécutez la commande suivante dans le terminal pour créer ou écraser ce fichier dans le répertoire actuel :
@' { "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID ", "adTracking": "SERVER" } '@ | Out-File -FilePath request.json -Encoding utf8
Exécutez ensuite la commande suivante pour envoyer votre requête REST :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions" | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID ", "interstitials": { "sessionContent": { "duration": "60s" } }, "playUri": "PLAY_URI ", # This is the ad-stitched VOD URI "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "assetId": "ASSET_ID ", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID " }
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.
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.
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.
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.
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.
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.
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.
L'API Video Stitcher génère un ID de session unique pour chaque requête. Une session expire au bout de quatre heures.
La réponse devrait maintenant ressembler à ceci:
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID ", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI ", "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "assetId": "ASSET_ID ", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID " }
La réponse est un objet VodSession
qui contient les champs suivants:
- Champ
name
qui affiche leSESSION_ID VOD. Utilisez cet ID pour obtenir la session. - Champ
interstitials
contenant des métadonnées sur les annonces insérées (voir les concepts liés aux métadonnées des annonces). - Champ
playUri
qui affiche l'URL utilisée par l'appareil client pour lire l'élément vidéo conditionné.
Si vous générez une session au nom des appareils de vos clients, définissez les paramètres suivants à l'aide d'en-têtes HTTP:
Paramètre | En-tête HTTP |
---|---|
CLIENT_IP | x-user-ip |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Vous pouvez ajouter les en-têtes suivants à la requête curl
précédente:
-H "x-user-ip:CLIENT_IP " \ -H "referer:REFERRER_URL " \ -H "user-agent:USER_AGENT " \
Obtenir une session
Pour obtenir la session d'une vidéo tronquée par des annonces, utilisez la méthode projects.locations.vodSessions.get
.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
: 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).PROJECT_NUMBER
: emplacement de votre session. Utilisez l'une des régions disponibles.LOCATION Afficher les emplacementsus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
: identifiant de la session VODSESSION_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID "
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://videostitcher.googleapis.com/v1/projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_NUMBER /locations/LOCATION /vodSessions/SESSION_ID ", "interstitials": { "adBreaks": [ { "progressEvents": [ { "timeOffset": "0s", "events": [ { "type": "IMPRESSION", "uri": "https://securepubads.g.doubleclick.net/pcs/view..." }, { "type": "START", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, ... ] }, ... ], "ads": [ { "duration": "10s", "activityEvents": [ { "type": "ERROR", "uri": "https://pubads.g.doubleclick.net/pagead/interaction/..." }, { "type": "CLICK_THROUGH", "uri": "https://pubads.g.doubleclick.net/pcs/click...", "id": "GDFP" }, ... ] } ], "endTimeOffset": "10s", "startTimeOffset": "0s" } ], "sessionContent": { "duration": "70s" } }, "playUri": "PLAY_URI ", "sourceUri": "VOD_URI ", "adTagUri": "AD_TAG_URI ", "assetId": "ASSET_ID ", "adTracking": "SERVER", "vodConfig": "projects/PROJECT_NUMBER /locations/LOCATION /vodConfigs/VOD_CONFIG_ID " }
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.
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.
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.
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.
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.
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.
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
Vous trouverez ci-dessous un exemple de playlist VOD source avant l'assemblage d'annonces:
#EXTM3U
#EXT-X-TARGETDURATION:6
#EXT-X-VERSION:4
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-ENDLIST
Vous trouverez ci-dessous un exemple de playlist de vidéo à la demande source après l'assemblage des annonces avec des annonces pré-roll, mid-roll et post-roll:
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:0.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_03.ts
#EXTINF:6.000,
segment_04.ts
#EXTINF:6.000,
segment_05.ts
#EXTINF:6.000,
segment_06.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:4.000,
https://redirector.googlevideo.com/videoplayback/...
#EXTINF:1.990,
https://redirector.googlevideo.com/videoplayback/...
#EXT-X-ENDLIST
Gérer le suivi des annonces côté client
Le SDK IMA gère automatiquement le suivi des annonces côté client.
Inspecter les sessions de vidéo à la demande activées par Google Ad Manager
Pour inspecter les sessions VOD et les détails des tags d'annonces pour ces sessions, utilisez le contrôle de l'activité des flux dans Ad Manager.