Ao usar a API Video Stitcher, você cria uma sessão ao vivo toda vez que inicia a reprodução de uma transmissão ao vivo em que os anúncios veiculados pelo Google Ad Manager são costurados dinamicamente durante os intervalos de anúncio. A resposta contém o URL de reprodução e a configuração da sessão ao vivo.
Esta página descreve como criar e gerenciar uma sessão ao vivo ativada pelo Google Ad Manager. Para informações sobre sessões ao vivo que não usam Google Ad Manager, consulte Gerenciar uma sessão ao vivo.
Antes de começar
- Crie uma configuração em tempo real. Para a integração com
Google Ad Manager, verifique se o
gamLiveConfig
é definido. - Se você estiver especificando uma barreira, verifique se
gamSlate
é definido na barreira que você registrar.
Criar uma sessão ao vivo
É possível criar uma sessão ao vivo usando o SDK do IMA (que chama o método a API Video Stitcher) ou a API Video Stitcher diretamente.
Usar o SDK do IMA
Se você estiver fazendo a integração com o SDK do IMA, o SDK do IMA vai criar a sessão ao 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); }
É possível definir ou substituir os seguintes parâmetros opcionais por sessão:
manifestOptions
: especifica quais execuções de vídeo são gerados no manifesto do vídeo agrupado e a ordem das versões consulte a documentação das opções do manifestoadTracking
: selecione o rastreamento de anúncios do lado do cliente ou do lado do servidor.targetingParameters
: uma tag de anúncio do Google Ad Manager pode conter parâmetros de segmentação que podem ser atualizados por sessão. Consulte como definir parâmetros de segmentação com o SDK do IMA.
Consulte a próxima seção para saber como definir esses parâmetros usando o SDK do IMA.
Parâmetros e substituições opcionais
É possível definir parâmetros opcionais por sessão, como o campo manifestOptions
.
Esse campo não está disponível na configuração ao vivo. Também é possível substituir determinados
parâmetros definidos na configuração em tempo real de uma determinada sessão.
Por exemplo, se o adTracking
padrão na configuração em tempo real for definido como SERVER
,
é possível substituir esse valor para CLIENT
e também definir o campo manifestOptions
no SDK do IMA definindo o JSON videoStitcherSessionOptions
objeto.
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 mais informações, consulte Adicionar opções de sessão de streaming.
Usar a API diretamente
Para criar uma sessão ao vivo usando a API diretamente, use o método
projects.locations.liveSessions.create
.
O campo liveConfig
é o único campo obrigatório no corpo do JSON. É possível definir ou substituir os seguintes parâmetros opcionais por sessão ativa (conforme mostrado no exemplo REST a seguir):
manifestOptions
: especifica quais renderizações de vídeo são geradas no manifesto de vídeo costurado e a ordem das renderizações. Consulte a documentação de opções de manifesto.adTracking
: selecione o acompanhamento de anúncios do lado do cliente ou do servidor. Isso substitui o valor na configuração em tempo real da sessão.targetingParameters
: uma tag de anúncio do Google Ad Manager. pode conter parâmetros de segmentação que podem ser atualizados por sessão forneça um mapeamento neste campo (por exemplo, para substituir o[my_key]
com a stringmy_value
, consulte o exemplo de REST)
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: o número do seu projeto do Google Cloud localizado no campo Número do projeto na página Configurações do IAMLOCATION
: o local em que a sessão será criada. Use uma das regiões com suporte.Mostrar locaisus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
LIVE_CONFIG_ID
: o identificador definido pelo usuário para a configuração em tempo real
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 testar esta amostra, siga as instruções de configuração do C# no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a API C# Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a API Go Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a API Java Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar esta amostra, siga as instruções de configuração do Node.js no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a API Node.js Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Antes de testar este exemplo, siga as instruções de configuração do PHP na O guia de início rápido da API Video Stitcher usando bibliotecas de cliente. Para mais informações, consulte a API PHP Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar esta amostra, siga as instruções de configuração do Python no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a API Python Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Antes de testar este exemplo, siga as instruções de configuração do Ruby na O guia de início rápido da API Video Stitcher usando bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Ruby da API Video Stitcher.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
A resposta é um objeto de sessão em tempo real. O
playUri
é o URL que o dispositivo cliente usa para reproduzir o stream integrado do anúncio.
nesta sessão ao vivo.
A API Video Stitcher gera um ID de sessão exclusivo para cada solicitação. Um
a sessão vai expirar se o playUri
não for solicitado nos últimos 5 minutos.
Se você está gerando uma sessão em nome dos clientes dispositivos, é possível definir os seguintes parâmetros usando cabeçalhos HTTP:
Parâmetro | Cabeçalho HTTP |
---|---|
CLIENT_IP | x-forwarded-for |
REFERRER_URL | referer |
USER_AGENT | user-agent |
É possível adicionar os seguintes cabeçalhos à solicitação curl
anterior:
-H "x-forwarded-for: CLIENT_IP" \ -H "referer: REFERRER_URL" \ -H "user-agent: USER_AGENT" \
Se o cabeçalho x-forwarded-for
não for fornecido, a API Video Stitcher vai usar o
endereço IP do cliente nas solicitações de metadados de anúncios. O endereço IP do cliente
pode não corresponder ao IP da conta do cliente dispositivos se as sessões forem
gerada em nome dos clientes dispositivos.
Receber uma sessão
Para acessar a sessão ao vivo, use o
método projects.locations.liveSessions.get
.
REST
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
PROJECT_NUMBER
: seu projeto do Google Cloud localizado no campo Número do projeto em Configurações do IAM páginaLOCATION
: o local em que o arquivo será criado. session; usar uma das regiões com suporte;Mostrar locaisus-central1
us-east1
us-west1
asia-east1
asia-south1
asia-southeast1
europe-west1
southamerica-east1
SESSION_ID
: o identificador da sessão ao vivo.
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "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 testar esta amostra, siga as instruções de configuração do C# no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API C# da API Video Stitcher.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Antes de testar esta amostra, siga as instruções de configuração do Go no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Go da API Video Stitcher.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Antes de testar esta amostra, siga as instruções de configuração do Java no Guia de início rápido da API Video Stitcher: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java da API Video Stitcher.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar este exemplo, siga as instruções de configuração do Node.js na O guia de início rápido da API Video Stitcher usando bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js da API Video Stitcher.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Antes de testar este exemplo, siga as instruções de configuração do PHP na O guia de início rápido da API Video Stitcher usando bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API PHP da API Video Stitcher.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Antes de testar este exemplo, siga as instruções de configuração do Python na O guia de início rápido da API Video Stitcher usando bibliotecas de cliente. Para mais informações, consulte a API Python Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Antes de testar este exemplo, siga as instruções de configuração do Ruby na O guia de início rápido da API Video Stitcher usando bibliotecas de cliente. Para mais informações, consulte a API Ruby Video Stitcher documentação de referência.
Para autenticar na API Video Stitcher, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Exemplo de playlist com anúncios integrados
Confira a seguir um exemplo de playlist ao vivo de origem antes do agrupamento de anúncios:
#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
Confira a seguir um exemplo de playlist ao vivo de origem após a junção de anúncios:
#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
Inspecionar sessões ao vivo ativadas pelo Google Ad Manager
Para ver detalhes da tag de anúncio para sessões, use o Monitore a atividade de streaming no Ad Manager para ver detalhes sobre solicitações de anúncios.