Con la API de Video Stitcher, creas una sesión en vivo cada vez que inicias la reproducción de una transmisión en vivo en la que los anuncios publicados por Google Ad Manager se unen de forma dinámica durante las pausas publicitarias. La respuesta contiene la URL de reproducción y la configuración de la sesión en vivo.
En esta página, se describe cómo crear y administrar una sesión en vivo que habilita Google Ad Manager. Para obtener información sobre las sesiones en vivo que no usan Google Ad Manager, consulta Cómo administrar una sesión en vivo.
Antes de comenzar
- Crea una configuración en vivo. Para la integración con Google Ad Manager, asegúrate de que el objeto
gamLiveConfig
esté configurado. - Si especificas una pizarra, asegúrate de que el objeto
gamSlate
esté configurado en la pizarra que registres.
Crea una sesión en vivo
Puedes crear una sesión en vivo con el SDK de IMA (que llama a la API de Video Stitcher) o directamente con la API de Video Stitcher.
Usa el SDK de IMA
Si realizas la integración con el SDK de IMA, el SDK de IMA crea la sesión en vivo.
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 establecer o anular los siguientes parámetros opcionales por sesión:
manifestOptions
: Especifica qué representaciones de video se generan en el manifiesto de video unido y el orden de las representaciones. Consulta la documentación de opciones de manifiesto.adTracking
: Selecciona el seguimiento de anuncios del cliente o 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. Consulta cómo configurar parámetros de segmentación con el SDK de IMA.
Consulta la siguiente sección para aprender a configurar estos parámetros con el SDK de IMA.
Parámetros opcionales y anulaciones
Puedes establecer parámetros opcionales por sesión, como el campo manifestOptions
.
Este campo no está disponible en la configuración en vivo. También puedes anular ciertos parámetros que se establecen en la configuración en vivo para una sesión determinada.
Por ejemplo, si el adTracking
predeterminado en la configuración activa está configurado como SERVER
, puedes anular ese valor a CLIENT
y también establecer el campo manifestOptions
en el SDK de IMA configurando el campo de 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' } }; streamManager.requestStream(streamRequest); }
Para obtener más información, consulta Cómo agregar opciones de sesión de transmisión.
Usa la API directamente
Para crear una sesión en vivo con la API directamente, usa el método projects.locations.liveSessions.create
.
El campo liveConfig
es el único campo obligatorio en el cuerpo JSON. Puedes establecer o anular los siguientes parámetros opcionales por sesión en vivo (como se muestra en el siguiente ejemplo de REST):
manifestOptions
: Especifica qué representaciones de video se generan en el manifiesto de video unido y el orden de las representaciones. Consulta la documentación de opciones de manifiesto.adTracking
: Selecciona el seguimiento de anuncios del cliente o el seguimiento de anuncios del servidor. Esto anula el valor en la configuración en vivo 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. Proporciona una asignación en este campo (por ejemplo, para reemplazar la macro[my_key]
por la cadenamy_value
, consulta el ejemplo de REST).
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se creará la sesión. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: Es el identificador definido por el usuario para la configuración activa.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 esta muestra, sigue las instrucciones de configuración de C# que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
La respuesta es un objeto de sesión activa. playUri
es la URL que usa el dispositivo cliente para reproducir la transmisión de anuncios unidos de esta sesión en vivo.
La API de Video Stitcher genera un ID de sesión único para cada solicitud. Una sesión vence si no se solicita playUri
en los últimos 5 minutos.
Si generas una sesión en nombre de los dispositivos de tus clientes, puedes configurar los siguientes parámetros con encabezados HTTP:
Parámetro | Encabezado HTTP |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
Puedes agregar 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 de 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 se generan sesiones en nombre de los dispositivos de tus clientes.
Cómo obtener una sesión
Para obtener la sesión en vivo, usa el método projects.locations.liveSessions.get
.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
PROJECT_NUMBER
: Es el número de tu proyecto de Google Cloud que se encuentra en el campo Número de proyecto de la página Configuración de IAM.LOCATION
: Es la ubicación en la que se creará la sesión. Usa una de las regiones compatibles.Cómo mostrar ubicacionesus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: Es el identificador de la sesión en vivo.
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "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 esta muestra, sigue las instrucciones de configuración de C# que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de C# de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Go
Antes de probar esta muestra, sigue las instrucciones de configuración de Go que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Go de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Java
Antes de probar esta muestra, sigue las instrucciones de configuración de Java que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Java de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar esta muestra, sigue las instrucciones de configuración de Node.js que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Node.js de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
PHP
Antes de probar esta muestra, sigue las instrucciones de configuración de PHP que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de PHP de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Antes de probar esta muestra, sigue las instrucciones de configuración de Python que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Python de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ruby
Antes de probar esta muestra, sigue las instrucciones de configuración de Ruby que se encuentran en la Guía de inicio rápido de la API de Video Stitcher para usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Ruby de la API de Video Stitcher.
Para autenticarte en la API de Video Stitcher, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Ejemplo de playlist con anuncios integrados
A continuación, se muestra una playlist en vivo de la fuente de muestra antes de la unió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 playlist en vivo de la fuente de muestra después de la unió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-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
Inspecciona las sesiones en vivo habilitadas por Google Ad Manager
Para ver los detalles de las etiquetas de anuncios de las sesiones, usa el Supervisor de actividad de transmisión en Ad Manager para ver los detalles de las solicitudes de anuncios.