Con la API Video Stitcher, creas una sesión en directo cada vez que empiezas a reproducir una emisión en directo en la que los anuncios servidos por Google Ad Manager se insertan dinámicamente durante las pausas publicitarias. La respuesta contiene la URL de reproducción y la configuración de la sesión en directo.
En esta página se describe cómo crear y gestionar una sesión en directo habilitada por Google Ad Manager. Para obtener información sobre las sesiones en directo que no usan Google Ad Manager, consulta Gestionar una sesión en directo.
Antes de empezar
- Crea una configuración activa. Para la integración con Google Ad Manager, asegúrese de que se ha definido el objeto
gamLiveConfig
. - Si especificas una pizarra, asegúrate de que el objeto
gamSlate
esté definido en la pizarra que registres.
Crear una sesión en directo
Puede crear una sesión en directo mediante el SDK de IMA (que llama a la API Video Stitcher) o directamente con la API Video Stitcher.
Usar el SDK de IMA
Si integras el SDK de IMA, este SDK crea la sesión en directo.
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); }
Puedes definir o anular los siguientes parámetros opcionales por sesión:
manifestOptions
: especifica qué representaciones de vídeo se generan en el archivo de manifiesto de vídeo combinado y el orden de las representaciones. Consulta la documentación sobre las opciones del archivo de manifiesto.adTracking
: seleccione el seguimiento de anuncios del cliente o el seguimiento de anuncios del servidor.targetingParameters
: una etiqueta de anuncio de Google Ad Manager puede contener parámetros de segmentación que se pueden actualizar por sesión. Consulte cómo definir parámetros de segmentación con el SDK de IMA.
Consulta la siguiente sección para saber cómo configurar estos parámetros con el SDK de IMA.
Parámetros y anulaciones opcionales
Puedes definir parámetros opcionales por sesión, como el campo manifestOptions
.
Este campo no está disponible en la configuración activa. También puedes anular determinados parámetros que se hayan definido en la configuración activa de una sesión concreta.
Por ejemplo, si el valor predeterminado de adTracking
en la configuración activa es SERVER
,
puede sustituir ese valor por CLIENT
y también definir el campo manifestOptions
en el SDK de IMA definiendo el campo del objeto 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); }
Para obtener más información, consulta el artículo Añadir opciones de sesión de streaming.
Usar la API directamente
Para crear una sesión en directo directamente con la API, usa el método
projects.locations.liveSessions.create
.
El campo liveConfig
es el único obligatorio del cuerpo JSON. Puedes definir o anular los siguientes parámetros opcionales por sesión en directo (como se muestra en el siguiente ejemplo de REST):
manifestOptions
: especifica qué representaciones de vídeo se generan en el archivo de manifiesto de vídeo combinado y el orden de las representaciones. Consulta la documentación sobre las opciones del archivo de manifiesto.adTracking
: seleccione el seguimiento de anuncios del lado del cliente o el seguimiento de anuncios del lado del servidor. De esta forma, se anula el valor de la configuración activa de la sesión.targetingParameters
: una etiqueta de anuncio de Google Ad Manager puede contener parámetros de segmentación que se pueden actualizar por sesión. Proporcione una asignación en este campo (por ejemplo, para sustituir la macro[my_key]
por la cadenamy_value
, consulte el ejemplo de REST).
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: el número de tu proyecto Google Cloud , que se encuentra en el campo Número de proyecto de la página Configuración de gestión de identidades y accesosLOCATION
: la ubicación en la que quieres crear tu sesión. Elige una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: identificador definido por el usuario de la configuración activa.
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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#
Antes de probar este ejemplo, sigue las C# instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API C# Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Antes de probar este ejemplo, sigue las PHP instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API PHP Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Antes de probar este ejemplo, sigue las Ruby instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Ruby Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
La respuesta es un objeto de sesión en directo. playUri
es la URL que usa el dispositivo cliente para reproducir el flujo de anuncios concatenado de esta sesión en directo.
La API Video Stitcher genera un ID de sesión único para cada solicitud. Una sesión caduca si no se solicita el playUri
en los últimos 5 minutos.
Si generas una sesión en nombre de los dispositivos de tus clientes, puedes definir los siguientes parámetros mediante encabezados HTTP:
Parámetro | Encabezado HTTP |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Puedes añadir los siguientes encabezados a la solicitud curl
anterior:
-H "x-forwarded-for: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Si no se proporciona el encabezado x-forwarded-for
, la API Video Stitcher usa la dirección IP del cliente en las solicitudes de metadatos de anuncios. Ten en cuenta que la dirección IP del cliente puede no coincidir con la IP de los dispositivos de tus clientes si las sesiones se generan en nombre de los dispositivos de tus clientes.
Obtener una sesión
Para obtener la sesión en directo, utiliza el método projects.locations.liveSessions.get
.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_NUMBER
: el número de tu proyecto Google Cloud , que se encuentra en el campo Número de proyecto de la página Configuración de gestión de identidades y accesosLOCATION
: la ubicación en la que quieres crear tu sesión. Elige una de las regiones admitidas.Mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: identificador de la sesión en directo.
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "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#
Antes de probar este ejemplo, sigue las C# instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API C# Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Go
Antes de probar este ejemplo, sigue las Go instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Go Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
PHP
Antes de probar este ejemplo, sigue las PHP instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API PHP Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Antes de probar este ejemplo, sigue las Python instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Python Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Ruby
Antes de probar este ejemplo, sigue las Ruby instrucciones de configuración de la guía de inicio rápido de la API Video Stitcher con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Ruby Video Stitcher API.
Para autenticarte en la API Video Stitcher, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Lista de reproducción con inserción de anuncios de ejemplo
A continuación, se muestra una lista de reproducción en directo de origen de ejemplo antes de la inserción de anuncios:
#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
A continuación, se muestra una lista de reproducción en directo de origen de ejemplo después de la costura de anuncios:
#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
Inspeccionar sesiones en directo habilitadas por Google Ad Manager
Para ver los detalles de las etiquetas publicitarias de las sesiones, use el monitor de actividad de emisión de Ad Manager para ver los detalles de las solicitudes de anuncios.