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 o 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 o Google Ad Manager, verifique se o objeto
gamLiveConfig
está definido. - Se você estiver especificando uma lousa, verifique se o objeto
gamSlate
está definido na lousa registrada.
Criar uma sessão ao vivo
É possível criar uma sessão ao vivo usando o SDK do IMA (que chama a API Video Stitcher) ou usando 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 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 rastreamento de anúncios do lado do cliente ou do lado do servidor.targetingParameters
: uma tag de publicidade 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 estiver definido como SERVER
,
você poderá substituir esse valor por CLIENT
e também definir o campo manifestOptions
no SDK do IMA definindo o 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 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 a macro[my_key]
pela stringmy_value
, consulte o exemplo 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 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 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 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 esta amostra, siga as instruções de configuração do PHP 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 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 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 documentação de referência da API Python 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.
Ruby
Antes de testar esta amostra, siga as instruções de configuração do Ruby 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 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 a transmissão costurada de anúncios para
essa sessão ao vivo.
A API Video Stitcher gera um ID de sessão exclusivo para cada solicitação. Uma
sessão expira se o playUri
não for solicitado nos últimos 5 minutos.
Se você estiver gerando uma sessão em nome dos dispositivos dos seus clientes, defina os parâmetros a seguir 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 dos dispositivos dos clientes se as sessões forem
geradas em nome deles.
Acessar 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
: 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
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 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 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 esta amostra, siga as instruções de configuração do PHP 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 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 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 documentação de referência da API Python 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.
Ruby
Antes de testar esta amostra, siga as instruções de configuração do Ruby 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 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.
Exemplo de playlist com anúncios integrados
Confira abaixo um exemplo de playlist ao vivo de origem antes da 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-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 conferir detalhes sobre as tags de anúncios das sessões, use o Monitoramento da atividade de streaming no Ad Manager para conferir detalhes sobre as solicitações de anúncios.