Faça a gestão de uma sessão de VOD

Com a API Video Stitcher, cria uma sessão de vídeo a pedido (VOD) sempre que insere anúncios dinamicamente antes da entrega aos dispositivos cliente. Quando cria uma sessão, a resposta inclui o URL de reprodução e informações sobre os anúncios que inseriu no vídeo.

Esta página descreve como criar e gerir uma sessão de VOD não ativada pelo Google Ad Manager. Para mais informações sobre estes tipos de sessões de VOD, consulte o artigo Faça a gestão de uma sessão de VOD ativada pelo Google Ad Manager.

Antes de começar

Crie uma sessão

Para criar uma sessão para um vídeo com inserção de anúncios, use o método projects.locations.vodSessions.create.

Quando cria uma sessão de VOD, o seguinte campo é obrigatório:

  • adTracking: determina se o leitor do cliente deve acionar eventos de reprodução e atividade ou se a API Video Stitcher deve acionar eventos de reprodução em nome do leitor do cliente. Para mais informações sobre o acompanhamento de anúncios do lado do cliente, consulte o artigo Faça a gestão do acompanhamento de anúncios do cliente de VOD.

    O exemplo nesta secção usa o acompanhamento de anúncios do lado do servidor.

Quando cria uma sessão de VOD, os seguintes campos são opcionais:

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAM
  • LOCATION: a localização na qual criar a sua sessão; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • VOD_CONFIG_ID: o identificador definido pelo utilizador para a configuração de VOD

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
}

C#

Antes de experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


using Google.Api.Gax.ResourceNames;
using Google.Cloud.Video.Stitcher.V1;

public class CreateVodSessionSample
{
    public VodSession CreateVodSession(
        string projectId, string location, string vodConfigId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        CreateVodSessionRequest request = new CreateVodSessionRequest
        {
            ParentAsLocationName = LocationName.FromProjectLocation(projectId, location),
            VodSession = new VodSession
            {
                VodConfig = VodConfigName.FormatProjectLocationVodConfig(projectId, location, vodConfigId),
                AdTracking = AdTracking.Server
            }
        };

        // Call the API.
        VodSession session = client.CreateVodSession(request);

        // Return the result.
        return session;
    }
}

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
)

// createVodSession creates a video on demand (VOD) session in which to insert ads.
// VOD sessions are ephemeral resources that expire after a few hours.
func createVodSession(w io.Writer, projectID, vodConfigID string) error {
	// projectID := "my-project-id"
	// vodConfigID := "my-vod-config-id"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	req := &stitcherstreampb.CreateVodSessionRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s", projectID, location),
		VodSession: &stitcherstreampb.VodSession{
			VodConfig:  fmt.Sprintf("projects/%s/locations/%s/vodConfigs/%s", projectID, location, vodConfigID),
			AdTracking: stitcherstreampb.AdTracking_SERVER,
		},
	}
	// Creates the VOD session.
	response, err := client.CreateVodSession(ctx, req)
	if err != nil {
		return fmt.Errorf("client.CreateVodSession: %w", err)
	}

	fmt.Fprintf(w, "VOD session: %v", response.GetName())
	return nil
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.video.stitcher.v1.AdTracking;
import com.google.cloud.video.stitcher.v1.CreateVodSessionRequest;
import com.google.cloud.video.stitcher.v1.LocationName;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.cloud.video.stitcher.v1.VodConfigName;
import com.google.cloud.video.stitcher.v1.VodSession;
import java.io.IOException;

public class CreateVodSession {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String vodConfigId = "my-vod-config-id";

    createVodSession(projectId, location, vodConfigId);
  }

  // Creates a video on demand (VOD) session using the parameters in the designated VOD config.
  // For more information, see
  // https://cloud.google.com/video-stitcher/docs/how-to/creating-vod-sessions.
  public static VodSession createVodSession(String projectId, String location, String vodConfigId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (VideoStitcherServiceClient videoStitcherServiceClient =
        VideoStitcherServiceClient.create()) {
      CreateVodSessionRequest createVodSessionRequest =
          CreateVodSessionRequest.newBuilder()
              .setParent(LocationName.of(projectId, location).toString())
              .setVodSession(
                  VodSession.newBuilder()
                      .setVodConfig(VodConfigName.format(projectId, location, vodConfigId))
                      .setAdTracking(AdTracking.SERVER)
                      .build())
              .build();

      VodSession response = videoStitcherServiceClient.createVodSession(createVodSessionRequest);
      System.out.println("Created VOD session: " + response.getName());
      return response;
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// vodConfigId = 'my-vod-config-id';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function createVodSession() {
  // Construct request
  const request = {
    parent: stitcherClient.locationPath(projectId, location),
    vodSession: {
      vodConfig: stitcherClient.vodConfigPath(
        projectId,
        location,
        vodConfigId
      ),
      adTracking: 'SERVER',
    },
  };
  const [session] = await stitcherClient.createVodSession(request);
  console.log(`VOD session: ${session.name}`);
}

createVodSession().catch(err => {
  console.error(err.message);
  process.exitCode = 1;
});

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import argparse

from google.cloud.video import stitcher_v1
from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    VideoStitcherServiceClient,
)


def create_vod_session(
    project_id: str, location: str, vod_config_id: str
) -> stitcher_v1.types.VodSession:
    """Creates a VOD session. VOD sessions are ephemeral resources that expire
    after a few hours.
    Args:
        project_id: The GCP project ID.
        location: The location in which to create the session.
        vod_config_id: The user-defined VOD config ID to use to create the
                        session.

    Returns:
        The VOD session resource.
    """

    client = VideoStitcherServiceClient()

    parent = f"projects/{project_id}/locations/{location}"
    vod_config_name = (
        f"projects/{project_id}/locations/{location}/vodConfigs/{vod_config_id}"
    )

    vod_session = stitcher_v1.types.VodSession(
        vod_config=vod_config_name, ad_tracking="SERVER"
    )

    response = client.create_vod_session(parent=parent, vod_session=vod_session)
    print(f"VOD session: {response.name}")
    return response

A API Video Stitcher gera um ID de sessão exclusivo para cada pedido. Uma sessão expira após 4 horas.

Um anúncio tem de ser codificado antes de poder ser integrado numa sessão de VOD. Quando cria uma sessão para um vídeo com anúncios incorporados, a API Video Stitcher determina se o anúncio já foi codificado a partir de uma sessão anterior. Se tiver, a resposta JSON indica eventos de pausas publicitárias. A API procura apenas anúncios codificados criados por sessões associadas ao seu Google Cloud projeto. Para mais informações sobre este processo, consulte a Vista geral.

Analise a resposta JSON. Esta resposta indica que um anúncio não foi integrado na sessão. Se for este o caso, aguarde 5 minutos (para a codificação de anúncios) e, em seguida, volte a executar o comando create session. A resposta deve ser semelhante à seguinte:

{
  "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"
}

A resposta é um objeto de sessão VOD que contém os seguintes campos:

Se estiver a gerar uma sessão em nome dos dispositivos dos seus clientes, defina os seguintes parâmetros através de cabeçalhos HTTP:

Parâmetro Cabeçalho HTTP
CLIENT_IP x-user-ip
REFERRER_URL referer
USER_AGENT user-agent

Pode adicionar os seguintes cabeçalhos ao pedido curl anterior:

-H "x-user-ip: CLIENT_IP" \
-H "referer: REFERRER_URL" \
-H "user-agent: USER_AGENT" \

Macros de etiquetas de anúncios

Uma etiqueta do anúncio pode conter macros, o que pode resultar numa etiqueta do anúncio diferente para cada sessão. As macros são indicadas por parênteses retos na etiqueta do anúncio, conforme ilustrado no seguinte exemplo:

AD_TAG_URI&macro=[my-key]

O elemento adTagUri está definido na configuração de VOD.

Para substituir o valor na macro da etiqueta do anúncio, forneça um mapeamento no campo adTagMacroMap. Por exemplo, se quiser substituir a macro [my-key] pela string my-value, tem de fornecer o seguinte:

{
  ...
  "adTagMacroMap": {
    "my-key": "my-value"
  },
  ...
}

Quando a API Video Stitcher pede os metadados dos anúncios, usa a seguinte etiqueta do anúncio:

AD_TAG_URI&macro=my-value

Receba uma sessão

Para obter a sessão de um vídeo com união de anúncios, use o método projects.locations.vodSessions.get.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAM
  • LOCATION: a localização da sua sessão; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • SESSION_ID: o identificador da sessão de VOD

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "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"
}

C#

Antes de experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


using Google.Cloud.Video.Stitcher.V1;

public class GetVodSessionSample
{
    public VodSession GetVodSession(
        string projectId, string location, string sessionId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        GetVodSessionRequest request = new GetVodSessionRequest
        {
            VodSessionName = VodSessionName.FromProjectLocationVodSession(projectId, location, sessionId)
        };

        // Call the API.
        VodSession session = client.GetVodSession(request);

        // Return the result.
        return session;
    }
}

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"encoding/json"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
)

// getVodSession gets a VOD session by ID.
func getVodSession(w io.Writer, projectID, sessionID string) error {
	// projectID := "my-project-id"
	// sessionID := "123-456-789"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	req := &stitcherstreampb.GetVodSessionRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/vodSessions/%s", projectID, location, sessionID),
	}
	// Gets the session.
	response, err := client.GetVodSession(ctx, req)
	if err != nil {
		return fmt.Errorf("client.GetVodSession: %w", err)
	}
	b, err := json.MarshalIndent(response, "", " ")
	if err != nil {
		return fmt.Errorf("json.MarshalIndent: %w", err)
	}

	fmt.Fprintf(w, "VOD session:\n%s", string(b))
	return nil
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.video.stitcher.v1.GetVodSessionRequest;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.cloud.video.stitcher.v1.VodSession;
import com.google.cloud.video.stitcher.v1.VodSessionName;
import java.io.IOException;

public class GetVodSession {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String sessionId = "my-session-id";

    getVodSession(projectId, location, sessionId);
  }

  // Gets a video on demand (VOD) session.
  public static VodSession getVodSession(String projectId, String location, String sessionId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (VideoStitcherServiceClient videoStitcherServiceClient =
        VideoStitcherServiceClient.create()) {
      GetVodSessionRequest getVodSessionRequest =
          GetVodSessionRequest.newBuilder()
              .setName(VodSessionName.of(projectId, location, sessionId).toString())
              .build();

      VodSession response = videoStitcherServiceClient.getVodSession(getVodSessionRequest);
      System.out.println("VOD session: " + response.getName());
      return response;
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// sessionId = 'my-session-id';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function getVodSession() {
  // Construct request
  const request = {
    name: stitcherClient.vodSessionPath(projectId, location, sessionId),
  };
  const [session] = await stitcherClient.getVodSession(request);
  console.log(`VOD session: ${session.name}`);
}

getVodSession().catch(err => {
  console.error(err.message);
  process.exitCode = 1;
});

PHP

Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\GetVodSessionRequest;

/**
 * Gets a VOD session.
 *
 * @param string $callingProjectId     The project ID to run the API call under
 * @param string $location             The location of the session
 * @param string $sessionId            The ID of the session
 */
function get_vod_session(
    string $callingProjectId,
    string $location,
    string $sessionId
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $formattedName = $stitcherClient->vodSessionName($callingProjectId, $location, $sessionId);
    $request = (new GetVodSessionRequest())
        ->setName($formattedName);
    $session = $stitcherClient->getVodSession($request);

    // Print results
    printf('VOD session: %s' . PHP_EOL, $session->getName());
}

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import argparse

from google.cloud.video import stitcher_v1
from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    VideoStitcherServiceClient,
)


def get_vod_session(
    project_id: str, location: str, session_id: str
) -> stitcher_v1.types.VodSession:
    """Gets a VOD session. VOD sessions are ephemeral resources that expire
    after a few hours.
    Args:
        project_id: The GCP project ID.
        location: The location of the session.
        session_id: The ID of the VOD session.

    Returns:
        The VOD session resource.
    """

    client = VideoStitcherServiceClient()

    name = client.vod_session_path(project_id, location, session_id)
    response = client.get_vod_session(name=name)
    print(f"VOD session: {response.name}")
    return response

Ruby

Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/video/stitcher"

##
# Get a VOD session. VOD sessions are ephemeral resources that expire
# after a few hours.
#
# @param project_id [String] Your Google Cloud project (e.g. `my-project`)
# @param location [String] The location (e.g. `us-central1`)
# @param session_id [String] The VOD session ID (e.g. `my-vod-session-id`)
#
def get_vod_session project_id:, location:, session_id:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the VOD session.
  name = client.vod_session_path project: project_id, location: location,
                                 vod_session: session_id

  # Get the VOD session.
  session = client.get_vod_session name: name

  # Print the VOD session name.
  puts "VOD session: #{session.name}"
end

Exemplo de playlist com anúncios integrados

A imagem seguinte mostra um exemplo de uma playlist VOD de origem antes da união de anúncios:

#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

O exemplo seguinte mostra uma playlist VOD de origem após a união de anúncios com anúncios de inserção inicial, inserção intercalar e inserção final:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:6
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://ads.us-west1.cdn.videostitcher.goog/preroll_ad/seg_01.ts
#EXTINF:4.000,
https://ads.us-west1.cdn.videostitcher.goog/preroll_ad/seg_02.ts
#EXTINF:1.990,
https://ads.us-west1.cdn.videostitcher.goog/preroll_ad/seg_03.ts
#EXT-X-DISCONTINUITY
#EXTINF:6.000,
segment_01.ts
#EXTINF:6.000,
segment_02.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.000,
https://ads.us-west1.cdn.videostitcher.goog/midroll_ad/seg_01.ts
#EXTINF:0.990,
https://ads.us-west1.cdn.videostitcher.goog/midroll_ad/seg_02.ts
#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://ads.us-west1.cdn.videostitcher.goog/postroll_ad/seg_01.ts
#EXTINF:4.000,
https://ads.us-west1.cdn.videostitcher.goog/postroll_ad/seg_02.ts
#EXTINF:1.990,
https://ads.us-west1.cdn.videostitcher.goog/postroll_ad/seg_03.ts
#EXT-X-ENDLIST

Faça a gestão do acompanhamento de anúncios do lado do cliente

Quando o acompanhamento de anúncios do cliente está ativado, o leitor é responsável por acionar eventos de acompanhamento de anúncios. Pode encontrar informações de acompanhamento do lado do cliente no objeto de anúncios intersticiais devolvido quando a sessão de VOD é criada.

O objeto de anúncios intersticiais inclui informações de acompanhamento de anúncios e metadados para anúncios associados analisados a partir de pedidos de etiquetas de anúncios. Para inspecionar que anúncios estão unidos, consulte o artigo Inspecione sessões de VOD.

Anúncios intercalares

As informações de acompanhamento de anúncios são agrupadas por pausas de anúncios no objeto interstitials.

As pausas para anúncios podem ter eventos de progresso que especificam o URI do evento e o desvio de tempo relativo à hora de início da pausa para cada evento que foi acionado. Para ver mais detalhes sobre os eventos de progresso, consulte a documentação de referência ProgressEvent.

As pausas para anúncios também podem ter eventos de atividade e anúncios associados. Para mais detalhes sobre anúncios complementares, consulte a documentação de referência CompanionAds.

Segue-se um exemplo de anúncios intercalares:

{
  "adBreaks": [
    {
      "progressEvents": [
        {
          "timeOffset": "0s",
          "events": [
            {
              "type": "IMPRESSION",
              "uri": "https://example.com/impression"
            },
            {
              "type": "START",
              "uri": "https://example.com/start"
            }
          ]
        },
        {
          "timeOffset": "1.250s",
          "events": [
            {
              "type": "FIRST_QUARTILE",
              "uri": "https://example.com/firstquartile"
            }
          ]
        }
      ],
      "ads": [
        {
          "duration": "5s",
          "activityEvents": [
            {
              "type": "PAUSE",
              "uri": "https://example.com/pause"
            }
          ],
          "companionAds": {
            "required": "all",
            "companions": [
              {
                "width": 200,
                "height": 100,
                "staticResource": {
                  "uri": "https://example.com/static.png",
                  "creativeType": "image/png"
                }
              }
            ]
          }
        },
        {
          "duration": "10s"
        }
      ],
      "startTimeOffset": "0s",
      "endTimeOffset": "15.000s"
    }
  ],
  "sessionContent": {
      "duration": "120.000s"
  }
}

No exemplo anterior, existe um intervalo de anúncios de inserção inicial com dois anúncios unidos num recurso VOD. A duração do primeiro anúncio é de 5 segundos e a duração do segundo anúncio é de 10 segundos. A duração total do vídeo editado é de 120 segundos, conforme identificado no campo duration em sessionContent .

Quando o cliente recebe este objeto, deve fazer o seguinte:

  • Faça um pedido a https://example.com/start no início da pausa para anúncios.
  • Faça um pedido a https://example.com/impression no início da pausa publicitária.
  • Fazer um pedido a https://example.com/pause sempre que o visitante pausar o vídeo durante o primeiro anúncio.
  • Faça um pedido https://example.com/firstQuartile 1,25 segundos após o início do primeiro anúncio.
  • Carregue o anúncio associado https://example.com/static.png durante o primeiro anúncio.

Inspecione sessões de VOD

Esta secção descreve como inspecionar os detalhes da etiqueta de anúncio e os detalhes de união para uma determinada sessão de VOD. Para mais detalhes, consulte a documentação REST para VodAdTagDetail e VodStitchDetail.

O campo adTagUri, definido na configuração de VOD para a sessão de VOD, especifica o URL a partir do qual os metadados dos anúncios são obtidos. A API Video Stitcher também inclui metadados do utilizador quando faz o pedido.

O ponto final /vodAdTagDetails contém as seguintes informações:

  • etiqueta do anúncio resolvida
  • metadados do utilizador
  • corpo do pedido e cabeçalhos
  • corpo e cabeçalhos da resposta

O ponto final /vodStitchDetails contém as seguintes informações:

  • ID da pausa para anúncios
  • ID do anúncio
  • Desvio de tempo do anúncio (em segundos)
  • motivo se o anúncio não tiver sido inserido
  • metadados de conteúdo multimédia de anúncios

Liste os detalhes da etiqueta de anúncio

Para listar os detalhes da etiqueta do anúncio de uma sessão de VOD, use o método projects.locations.vodSessions.vodAdTagDetails.list.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAM
  • LOCATION: a localização da sua sessão; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • SESSION_ID: o ID da sessão de VOD

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "vodAdTagDetails" : [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID/vodAdTagDetails/VOD_AD_TAG_DETAILS_ID",
      "adRequests": [
        {
          "uri": "REQUEST_URL",
          "requestMetadata": "AD_TAG_REQUEST_METADATA",
          "responseMetadata": "AD_TAG_RESPONSE_METADATA"
        }
      ]
    }
  ]
}

C#

Antes de experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


using Google.Api.Gax;
using Google.Cloud.Video.Stitcher.V1;
using System;

public class ListVodAdTagDetailsSample
{
    public PagedEnumerable<ListVodAdTagDetailsResponse, VodAdTagDetail> ListVodAdTagDetails(
        string projectId, string regionId, string sessionId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        ListVodAdTagDetailsRequest request = new ListVodAdTagDetailsRequest
        {
            ParentAsVodSessionName = VodSessionName.FromProjectLocationVodSession(projectId, regionId, sessionId)
        };

        // Make the request.
        PagedEnumerable<ListVodAdTagDetailsResponse, VodAdTagDetail> response = client.ListVodAdTagDetails(request);
        foreach (VodAdTagDetail vodAdTagDetail in response)
        {
            Console.WriteLine($"{vodAdTagDetail.Name}");
        }

        // Return the result.
        return response;
    }
}

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
	"google.golang.org/api/iterator"
)

// listVodAdTagDetails lists the ad tag details for a video on demand (VOD) session.
func listVodAdTagDetails(w io.Writer, projectID, sessionID string) error {
	// projectID := "my-project-id"
	// sessionID := "123-456-789"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	req := &stitcherstreampb.ListVodAdTagDetailsRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s/vodSessions/%s", projectID, location, sessionID),
	}

	it := client.ListVodAdTagDetails(ctx, req)
	fmt.Fprintln(w, "VOD ad tag details:")
	for {
		response, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("it.Next(): %w", err)
		}
		fmt.Fprintln(w, response.GetName())
	}

	return nil
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.video.stitcher.v1.ListVodAdTagDetailsRequest;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient.ListVodAdTagDetailsPagedResponse;
import com.google.cloud.video.stitcher.v1.VodAdTagDetail;
import com.google.cloud.video.stitcher.v1.VodSessionName;
import java.io.IOException;

public class ListVodAdTagDetails {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String sessionId = "my-session-id";

    listVodAdTagDetails(projectId, location, sessionId);
  }

  // Lists the ad tag details for a video on demand (VOD) session.
  public static ListVodAdTagDetailsPagedResponse listVodAdTagDetails(
      String projectId, String location, String sessionId) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (VideoStitcherServiceClient videoStitcherServiceClient =
        VideoStitcherServiceClient.create()) {
      ListVodAdTagDetailsRequest listVodAdTagDetailsRequest =
          ListVodAdTagDetailsRequest.newBuilder()
              .setParent(VodSessionName.of(projectId, location, sessionId).toString())
              .build();

      VideoStitcherServiceClient.ListVodAdTagDetailsPagedResponse response =
          videoStitcherServiceClient.listVodAdTagDetails(listVodAdTagDetailsRequest);

      System.out.println("VOD ad tag details:");
      for (VodAdTagDetail adTagDetail : response.iterateAll()) {
        System.out.println(adTagDetail.toString());
      }
      return response;
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// sessionId = 'my-session-id';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function listVodAdTagDetails() {
  // Construct request
  const request = {
    parent: stitcherClient.vodSessionPath(projectId, location, sessionId),
  };
  const iterable = await stitcherClient.listVodAdTagDetailsAsync(request);
  console.log('VOD ad tag details:');
  for await (const response of iterable) {
    console.log(response.name);
  }
}

listVodAdTagDetails().catch(err => {
  console.error(err.message);
  process.exitCode = 1;
});

PHP

Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\ListVodAdTagDetailsRequest;

/**
 * Lists the ad tag details for the specified VOD session.
 *
 * @param string $callingProjectId     The project ID to run the API call under
 * @param string $location             The location of the session
 * @param string $sessionId            The ID of the session
 */
function list_vod_ad_tag_details(
    string $callingProjectId,
    string $location,
    string $sessionId
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $formattedName = $stitcherClient->vodSessionName($callingProjectId, $location, $sessionId);
    $request = (new ListVodAdTagDetailsRequest())
        ->setParent($formattedName);
    $response = $stitcherClient->listVodAdTagDetails($request);

    // Print the ad tag details list.
    $adTagDetails = $response->iterateAllElements();
    print('VOD ad tag details:' . PHP_EOL);
    foreach ($adTagDetails as $adTagDetail) {
        printf('%s' . PHP_EOL, $adTagDetail->getName());
    }
}

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import argparse

from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    pagers,
    VideoStitcherServiceClient,
)


def list_vod_ad_tag_details(
    project_id: str, location: str, session_id: str
) -> pagers.ListVodAdTagDetailsPager:
    """Lists the ad tag details for the specified VOD session.
    Args:
        project_id: The GCP project ID.
        location: The location of the session.
        session_id: The ID of the VOD session.

    Returns:
        An iterable object containing VOD ad tag details resources.
    """

    client = VideoStitcherServiceClient()

    parent = client.vod_session_path(project_id, location, session_id)
    page_result = client.list_vod_ad_tag_details(parent=parent)
    print("VOD ad tag details:")
    for response in page_result:
        print(response)

    return response

Ruby

Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/video/stitcher"

##
# List the ad tag details for a VOD session
#
# @param project_id [String] Your Google Cloud project (e.g. `my-project`)
# @param location [String] The location (e.g. `us-central1`)
# @param session_id [String] The VOD session ID (e.g. `my-vod-session-id`)
#
def list_vod_ad_tag_details project_id:, location:, session_id:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the parent.
  parent = client.vod_session_path project: project_id, location: location,
                                   vod_session: session_id

  # List all ad tag details for the VOD session.
  response = client.list_vod_ad_tag_details parent: parent

  puts "VOD ad tag details:"
  # Print out all VOD ad tag details.
  response.each do |vod_ad_tag_detail|
    puts vod_ad_tag_detail.name
  end
end

A resposta devolve uma lista de objetos VodAdTagDetail. Cada VodAdTagDetail representa os metadados de obtenção de anúncios de uma etiqueta do anúncio e cada AdRequest representa os metadados do pedido de anúncio de um único pedido de anúncio.

Resultados adicionais

A resposta curl pode incluir um nextPageToken, que pode usar para obter resultados adicionais:

{
  "vodAdTagDetails": [
    ...
  ],
  "nextPageToken": "NEXT_PAGE_TOKEN"
}

Pode enviar outro pedido curl, incluindo o valor de NEXT_PAGE_TOKEN, para listar os objetos adicionais. Acrescente o seguinte ao URL na chamada API anterior:

?pageToken=NEXT_PAGE_TOKEN

Obtenha detalhes da etiqueta do anúncio

Para obter os detalhes de um único objeto VodAdTagDetail numa sessão de VOD, use o método projects.locations.vodSessions.vodAdTagDetails.get.

O exemplo seguinte demonstra a visualização de um único detalhe de etiqueta do anúncio para uma sessão de VOD usando o nome de um detalhe de etiqueta do anúncio devolvido de um pedido anterior:

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAM
  • LOCATION: a localização da sua sessão; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • SESSION_ID: o ID da sessão de VOD
  • VOD_AD_TAG_DETAILS_ID: o ID dos detalhes da etiqueta do anúncio de VOD

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID/vodAdTagDetails/VOD_AD_TAG_DETAILS_ID",
  "adRequests": [
    {
      "uri": "REQUEST_URL",
      "requestMetadata": "AD_TAG_REQUEST_METADATA",
      "responseMetadata": "AD_TAG_RESPONSE_METADATA"
    }
  ]
}

C#

Antes de experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


using Google.Cloud.Video.Stitcher.V1;

public class GetVodAdTagDetailSample
{
    public VodAdTagDetail GetVodAdTagDetail(
        string projectId, string location, string sessionId, string adTagDetailId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        GetVodAdTagDetailRequest request = new GetVodAdTagDetailRequest
        {
            VodAdTagDetailName = VodAdTagDetailName.FromProjectLocationVodSessionVodAdTagDetail(projectId, location, sessionId, adTagDetailId)
        };

        // Call the API.
        VodAdTagDetail vodAdTagDetail = client.GetVodAdTagDetail(request);

        // Return the result.
        return vodAdTagDetail;
    }
}

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"encoding/json"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
)

// getVodAdTagDetail gets the specified ad tag detail for a video on demand (VOD) session.
func getVodAdTagDetail(w io.Writer, projectID, sessionID, adTagDetailID string) error {
	// projectID := "my-project-id"
	// sessionID := "123-456-789"
	// adTagDetailID := "01234-56789"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	req := &stitcherstreampb.GetVodAdTagDetailRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/vodSessions/%s/vodAdTagDetails/%s", projectID, location, sessionID, adTagDetailID),
	}
	// Gets the ad tag detail.
	response, err := client.GetVodAdTagDetail(ctx, req)
	if err != nil {
		return fmt.Errorf("client.GetVodAdTagDetail: %w", err)
	}
	b, err := json.MarshalIndent(response, "", " ")
	if err != nil {
		return fmt.Errorf("json.MarshalIndent: %w", err)
	}

	fmt.Fprintf(w, "VOD ad tag detail:\n%s", string(b))
	return nil
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.video.stitcher.v1.GetVodAdTagDetailRequest;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.cloud.video.stitcher.v1.VodAdTagDetail;
import com.google.cloud.video.stitcher.v1.VodAdTagDetailName;
import java.io.IOException;

public class GetVodAdTagDetail {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String sessionId = "my-session-id";
    String adTagDetailId = "my-ad-tag-id";

    getVodAdTagDetail(projectId, location, sessionId, adTagDetailId);
  }

  // Gets an ad tag detail for a video on demand (VOD) session.
  public static VodAdTagDetail getVodAdTagDetail(
      String projectId, String location, String sessionId, String adTagDetailId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (VideoStitcherServiceClient videoStitcherServiceClient =
        VideoStitcherServiceClient.create()) {
      GetVodAdTagDetailRequest getVodAdTagDetailRequest =
          GetVodAdTagDetailRequest.newBuilder()
              .setName(
                  VodAdTagDetailName.of(projectId, location, sessionId, adTagDetailId).toString())
              .build();

      VodAdTagDetail response =
          videoStitcherServiceClient.getVodAdTagDetail(getVodAdTagDetailRequest);
      System.out.println("VOD ad tag detail: " + response.getName());
      return response;
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// sessionId = 'my-session-id';
// adTagDetailId = 'my-ad-tag-detail-id';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function getVodAdTagDetail() {
  // Construct request
  const request = {
    name: stitcherClient.vodAdTagDetailPath(
      projectId,
      location,
      sessionId,
      adTagDetailId
    ),
  };
  const [adTagDetail] = await stitcherClient.getVodAdTagDetail(request);
  console.log(`VOD ad tag detail: ${adTagDetail.name}`);
}

getVodAdTagDetail().catch(err => {
  console.error(err.message);
  process.exitCode = 1;
});

PHP

Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\GetVodAdTagDetailRequest;

/**
 * Gets the specified ad tag detail for the VOD session.
 *
 * @param string $callingProjectId     The project ID to run the API call under
 * @param string $location             The location of the session
 * @param string $sessionId            The ID of the session
 * @param string $adTagDetailId        The ID of the ad tag detail
 */
function get_vod_ad_tag_detail(
    string $callingProjectId,
    string $location,
    string $sessionId,
    string $adTagDetailId
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $formattedName = $stitcherClient->vodAdTagDetailName($callingProjectId, $location, $sessionId, $adTagDetailId);
    $request = (new GetVodAdTagDetailRequest())
        ->setName($formattedName);
    $adTagDetail = $stitcherClient->getVodAdTagDetail($request);

    // Print results
    printf('VOD ad tag detail: %s' . PHP_EOL, $adTagDetail->getName());
}

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import argparse

from google.cloud.video import stitcher_v1
from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    VideoStitcherServiceClient,
)


def get_vod_ad_tag_detail(
    project_id: str, location: str, session_id: str, ad_tag_detail_id: str
) -> stitcher_v1.types.VodAdTagDetail:
    """Gets the specified ad tag detail for a VOD session.
    Args:
        project_id: The GCP project ID.
        location: The location of the session.
        session_id: The ID of the VOD session.
        ad_tag_detail_id: The ID of the ad tag details.

    Returns:
        The VOD ad tag detail resource.
    """

    client = VideoStitcherServiceClient()

    name = client.vod_ad_tag_detail_path(
        project_id, location, session_id, ad_tag_detail_id
    )
    response = client.get_vod_ad_tag_detail(name=name)
    print(f"VOD ad tag detail: {response.name}")
    return response

Ruby

Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/video/stitcher"

##
# Get the specified ad tag detail for a VOD session
#
# @param project_id [String] Your Google Cloud project (e.g. `my-project`)
# @param location [String] The location (e.g. `us-central1`)
# @param session_id [String] The VOD session ID (e.g. `my-vod-session-id`)
# @param ad_tag_detail_id [String] The ad tag detail ID (e.g. `my-ad-tag-id`)
#
def get_vod_ad_tag_detail project_id:, location:, session_id:, ad_tag_detail_id:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the VOD ad tag detail.
  name = client.vod_ad_tag_detail_path project: project_id, location: location,
                                       vod_session: session_id,
                                       vod_ad_tag_detail: ad_tag_detail_id

  # Get the VOD ad tag detail.
  ad_tag_detail = client.get_vod_ad_tag_detail name: name

  # Print the VOD ad tag detail name.
  puts "VOD ad tag detail: #{ad_tag_detail.name}"
end

Lista de detalhes da união

Pode ver informações detalhadas sobre os anúncios que foram unidos para qualquer sessão de VOD.

Para listar os detalhes da união de uma sessão de VOD, use o método projects.locations.vodSessions.vodStitchDetails.list.

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAM
  • LOCATION: a localização da sua sessão; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • SESSION_ID: o ID da sessão de VOD

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "vodStitchDetails" : [
    {
      "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID/vodStitchDetails/VOD_STITCH_DETAILS_ID",
      "adStitchDetails": [
        {
          "adBreakId": "AD_BREAK_ID",
          "adId": "AD_ID",
          "adTimeOffset": "AD_TIME_OFFSET",
          "skipReason": "SKIP_REASON",
          "media": "MEDIA_OBJECT"
        },
        {
          "adBreakId": "my-other-ad-break-id",
          "adId": "my-other-ad-id",
          "adTimeOffset": "my-other-ad-time-offset",
          "skipReason": "my-other-skip-reason",
          "media": "my-other-media-object"
        }
      ]
    }
  ]
}

C#

Antes de experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


using Google.Api.Gax;
using Google.Cloud.Video.Stitcher.V1;
using System;

public class ListVodStitchDetailsSample
{
    public PagedEnumerable<ListVodStitchDetailsResponse, VodStitchDetail> ListVodStitchDetails(
        string projectId, string regionId, string sessionId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        ListVodStitchDetailsRequest request = new ListVodStitchDetailsRequest
        {
            ParentAsVodSessionName = VodSessionName.FromProjectLocationVodSession(projectId, regionId, sessionId)
        };

        // Make the request.
        PagedEnumerable<ListVodStitchDetailsResponse, VodStitchDetail> response = client.ListVodStitchDetails(request);
        foreach (VodStitchDetail vodStitchDetail in response)
        {
            Console.WriteLine($"{vodStitchDetail.Name}");
        }

        // Return the result.
        return response;
    }
}

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
	"google.golang.org/api/iterator"
)

// listVodStitchDetails lists the stitch details for a video on demand (VOD) session.
func listVodStitchDetails(w io.Writer, projectID, sessionID string) error {
	// projectID := "my-project-id"
	// sessionID := "123-456-789"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	req := &stitcherstreampb.ListVodStitchDetailsRequest{
		Parent: fmt.Sprintf("projects/%s/locations/%s/vodSessions/%s", projectID, location, sessionID),
	}

	it := client.ListVodStitchDetails(ctx, req)
	fmt.Fprintln(w, "VOD stitch details:")
	for {
		response, err := it.Next()
		if err == iterator.Done {
			break
		}
		if err != nil {
			return fmt.Errorf("it.Next(): %w", err)
		}
		fmt.Fprintln(w, response.GetName())
	}

	return nil
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.video.stitcher.v1.ListVodStitchDetailsRequest;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient.ListVodStitchDetailsPagedResponse;
import com.google.cloud.video.stitcher.v1.VodSessionName;
import com.google.cloud.video.stitcher.v1.VodStitchDetail;
import java.io.IOException;

public class ListVodStitchDetails {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String sessionId = "my-session-id";

    listVodStitchDetails(projectId, location, sessionId);
  }

  // Lists the VOD stitch details for a video on demand (VOD) session.
  public static ListVodStitchDetailsPagedResponse listVodStitchDetails(
      String projectId, String location, String sessionId) throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (VideoStitcherServiceClient videoStitcherServiceClient =
        VideoStitcherServiceClient.create()) {
      ListVodStitchDetailsRequest listVodStitchDetailsRequest =
          ListVodStitchDetailsRequest.newBuilder()
              .setParent(VodSessionName.of(projectId, location, sessionId).toString())
              .build();

      VideoStitcherServiceClient.ListVodStitchDetailsPagedResponse response =
          videoStitcherServiceClient.listVodStitchDetails(listVodStitchDetailsRequest);

      System.out.println("VOD stitch details:");
      for (VodStitchDetail stitchDetail : response.iterateAll()) {
        System.out.println(stitchDetail.toString());
      }
      return response;
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// sessionId = 'my-session-id';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function listVodStitchDetails() {
  // Construct request
  const request = {
    parent: stitcherClient.vodSessionPath(projectId, location, sessionId),
  };
  const iterable = await stitcherClient.listVodStitchDetailsAsync(request);
  console.log('VOD stitch details:');
  for await (const response of iterable) {
    console.log(response.name);
  }
}

listVodStitchDetails().catch(err => {
  console.error(err.message);
  process.exitCode = 1;
});

PHP

Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\ListVodStitchDetailsRequest;

/**
 * Lists the stitch details for the specified VOD session.
 *
 * @param string $callingProjectId     The project ID to run the API call under
 * @param string $location             The location of the session
 * @param string $sessionId            The ID of the session
 */
function list_vod_stitch_details(
    string $callingProjectId,
    string $location,
    string $sessionId
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $formattedName = $stitcherClient->vodSessionName($callingProjectId, $location, $sessionId);
    $request = (new ListVodStitchDetailsRequest())
        ->setParent($formattedName);
    $response = $stitcherClient->listVodStitchDetails($request);

    // Print the stitch details list.
    $stitchDetails = $response->iterateAllElements();
    print('VOD stitch details:' . PHP_EOL);
    foreach ($stitchDetails as $stitchDetail) {
        printf('%s' . PHP_EOL, $stitchDetail->getName());
    }
}

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import argparse

from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    pagers,
    VideoStitcherServiceClient,
)


def list_vod_stitch_details(
    project_id: str, location: str, session_id: str
) -> pagers.ListVodStitchDetailsPager:
    """Lists the stitch details for the specified VOD session.
    Args:
        project_id: The GCP project ID.
        location: The location of the session.
        session_id: The ID of the VOD session.

    Returns:
        An iterable object containing VOD stitch details resources.
    """

    client = VideoStitcherServiceClient()

    parent = client.vod_session_path(project_id, location, session_id)
    page_result = client.list_vod_stitch_details(parent=parent)
    print("VOD stitch details:")
    for response in page_result:
        print(response)

    return response

Ruby

Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/video/stitcher"

##
# List the stitch details for a VOD session
#
# @param project_id [String] Your Google Cloud project (e.g. `my-project`)
# @param location [String] The location (e.g. `us-central1`)
# @param session_id [String] The VOD session ID (e.g. `my-vod-session-id`)
#
def list_vod_stitch_details project_id:, location:, session_id:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the parent.
  parent = client.vod_session_path project: project_id, location: location,
                                   vod_session: session_id

  # List all stitch details for the VOD session.
  response = client.list_vod_stitch_details parent: parent

  puts "VOD stitch details:"
  # Print out all VOD stitch details.
  response.each do |vod_stitch_detail|
    puts vod_stitch_detail.name
  end
end

A resposta devolve uma lista de objetos VodStitchDetail. Cada VodStitchDetail representa o detalhe da união para uma etiqueta de anúncio e cada objeto adStitchDetails representa o detalhe da união para um único anúncio.

A resposta curl pode incluir um nextPageToken, que pode usar para obter resultados adicionais.

Obtenha detalhes da união de etiquetas de anúncios

Para obter os detalhes da união de uma única etiqueta de anúncio para uma sessão de VOD, use o método projects.locations.vodSessions.vodStitchDetails.get.

O exemplo seguinte demonstra a visualização de um único detalhe de união de etiquetas do anúncio para uma sessão de VOD através do nome de um detalhe de etiqueta do anúncio de união devolvido de um pedido anterior:

REST

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_NUMBER: o número do seu Google Cloud projeto localizado no campo Número do projeto na página Definições de IAM
  • LOCATION: a localização da sua sessão; use uma das regiões suportadas
    Mostrar localizações
    • us-central1
    • us-east1
    • us-west1
    • asia-east1
    • asia-south1
    • asia-southeast1
    • europe-west1
    • southamerica-east1
  • SESSION_ID: o ID da sessão de VOD
  • VOD_STITCH_DETAILS_ID: o ID dos detalhes de edição de VOD

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "name": "projects/PROJECT_NUMBER/locations/LOCATION/vodSessions/SESSION_ID/vodStitchDetails/VOD_STITCH_DETAILS_ID",
  "adStitchDetails": [
    {
      "adBreakId": "AD_BREAK_ID",
      "adId": "AD_ID",
      "adTimeOffset": "AD_TIME_OFFSET",
      "skipReason": "SKIP_REASON",
      "media": "MEDIA_OBJECT"
    }
  ]
}

C#

Antes de experimentar este exemplo, siga as C#instruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherC#.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


using Google.Cloud.Video.Stitcher.V1;

public class GetVodStitchDetailSample
{
    public VodStitchDetail GetVodStitchDetail(
        string projectId, string location, string sessionId, string stitchDetailId)
    {
        // Create the client.
        VideoStitcherServiceClient client = VideoStitcherServiceClient.Create();

        GetVodStitchDetailRequest request = new GetVodStitchDetailRequest
        {
            VodStitchDetailName = VodStitchDetailName.FromProjectLocationVodSessionVodStitchDetail(projectId, location, sessionId, stitchDetailId)
        };

        // Call the API.
        VodStitchDetail vodStitchDetail = client.GetVodStitchDetail(request);

        // Return the result.
        return vodStitchDetail;
    }
}

Go

Antes de experimentar este exemplo, siga as Goinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherGo.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

import (
	"context"
	"encoding/json"
	"fmt"
	"io"

	stitcher "cloud.google.com/go/video/stitcher/apiv1"
	stitcherstreampb "cloud.google.com/go/video/stitcher/apiv1/stitcherpb"
)

// getVodStitchDetail gets the specified stitch detail for a video on demand (VOD) session.
func getVodStitchDetail(w io.Writer, projectID, sessionID, stitchDetailID string) error {
	// projectID := "my-project-id"
	// sessionID := "123-456-789"
	// stitchDetailID := "01234-56789"
	location := "us-central1"
	ctx := context.Background()
	client, err := stitcher.NewVideoStitcherClient(ctx)
	if err != nil {
		return fmt.Errorf("stitcher.NewVideoStitcherClient: %w", err)
	}
	defer client.Close()

	req := &stitcherstreampb.GetVodStitchDetailRequest{
		Name: fmt.Sprintf("projects/%s/locations/%s/vodSessions/%s/vodStitchDetails/%s", projectID, location, sessionID, stitchDetailID),
	}
	// Gets the stitch detail.
	response, err := client.GetVodStitchDetail(ctx, req)
	if err != nil {
		return fmt.Errorf("client.GetStitchDetail: %w", err)
	}
	b, err := json.MarshalIndent(response, "", " ")
	if err != nil {
		return fmt.Errorf("json.MarshalIndent: %w", err)
	}

	fmt.Fprintf(w, "VOD stitch detail:\n%s", string(b))
	return nil
}

Java

Antes de experimentar este exemplo, siga as Javainstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherJava.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import com.google.cloud.video.stitcher.v1.GetVodStitchDetailRequest;
import com.google.cloud.video.stitcher.v1.VideoStitcherServiceClient;
import com.google.cloud.video.stitcher.v1.VodStitchDetail;
import com.google.cloud.video.stitcher.v1.VodStitchDetailName;
import java.io.IOException;

public class GetVodStitchDetail {

  public static void main(String[] args) throws Exception {
    // TODO(developer): Replace these variables before running the sample.
    String projectId = "my-project-id";
    String location = "us-central1";
    String sessionId = "my-session-id";
    String stitchDetailId = "my-stitch-id";

    getVodStitchDetail(projectId, location, sessionId, stitchDetailId);
  }

  // Gets a stitch detail for a video on demand (VOD) session.
  public static VodStitchDetail getVodStitchDetail(
      String projectId, String location, String sessionId, String stitchDetailId)
      throws IOException {
    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests.
    try (VideoStitcherServiceClient videoStitcherServiceClient =
        VideoStitcherServiceClient.create()) {
      GetVodStitchDetailRequest getVodStitchDetailRequest =
          GetVodStitchDetailRequest.newBuilder()
              .setName(
                  VodStitchDetailName.of(projectId, location, sessionId, stitchDetailId).toString())
              .build();

      VodStitchDetail response =
          videoStitcherServiceClient.getVodStitchDetail(getVodStitchDetailRequest);
      System.out.println("VOD stitch detail: " + response.getName());
      return response;
    }
  }
}

Node.js

Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherNode.js.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

/**
 * TODO(developer): Uncomment these variables before running the sample.
 */
// projectId = 'my-project-id';
// location = 'us-central1';
// sessionId = 'my-session-id';
// stitchDetailId = 'my-stitch-detail-id';

// Imports the Video Stitcher library
const {VideoStitcherServiceClient} =
  require('@google-cloud/video-stitcher').v1;
// Instantiates a client
const stitcherClient = new VideoStitcherServiceClient();

async function getVodStitchDetail() {
  // Construct request
  const request = {
    name: stitcherClient.vodStitchDetailPath(
      projectId,
      location,
      sessionId,
      stitchDetailId
    ),
  };
  const [stitchDetail] = await stitcherClient.getVodStitchDetail(request);
  console.log(`VOD stitch detail: ${stitchDetail.name}`);
}

getVodStitchDetail().catch(err => {
  console.error(err.message);
  process.exitCode = 1;
});

PHP

Antes de experimentar este exemplo, siga as PHPinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPHP.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

use Google\Cloud\Video\Stitcher\V1\Client\VideoStitcherServiceClient;
use Google\Cloud\Video\Stitcher\V1\GetVodStitchDetailRequest;

/**
 * Gets the specified stitch detail for the VOD session.
 *
 * @param string $callingProjectId     The project ID to run the API call under
 * @param string $location             The location of the session
 * @param string $sessionId            The ID of the session
 * @param string $stitchDetailId       The ID of the stitch detail
 */
function get_vod_stitch_detail(
    string $callingProjectId,
    string $location,
    string $sessionId,
    string $stitchDetailId
): void {
    // Instantiate a client.
    $stitcherClient = new VideoStitcherServiceClient();

    $formattedName = $stitcherClient->vodStitchDetailName($callingProjectId, $location, $sessionId, $stitchDetailId);
    $request = (new GetVodStitchDetailRequest())
        ->setName($formattedName);
    $stitchDetail = $stitcherClient->getVodStitchDetail($request);

    // Print results
    printf('VOD stitch detail: %s' . PHP_EOL, $stitchDetail->getName());
}

Python

Antes de experimentar este exemplo, siga as Pythoninstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherPython.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.


import argparse

from google.cloud.video import stitcher_v1
from google.cloud.video.stitcher_v1.services.video_stitcher_service import (
    VideoStitcherServiceClient,
)


def get_vod_stitch_detail(
    project_id: str, location: str, session_id: str, stitch_detail_id: str
) -> stitcher_v1.types.VodStitchDetail:
    """Gets the specified stitch detail for a VOD session.
    Args:
        project_id: The GCP project ID.
        location: The location of the session.
        session_id: The ID of the VOD session.
        stitch_detail_id: The ID of the stitch details.

    Returns:
        The VOD stitch detail resource.
    """

    client = VideoStitcherServiceClient()

    name = client.vod_stitch_detail_path(
        project_id, location, session_id, stitch_detail_id
    )
    response = client.get_vod_stitch_detail(name=name)
    print(f"VOD stitch detail: {response.name}")
    return response

Ruby

Antes de experimentar este exemplo, siga as Rubyinstruções de configuração no guia de início rápido da API Video Stitcher com bibliotecas cliente. Para mais informações, consulte a documentação de referência da API Video StitcherRuby.

Para se autenticar na API Video Stitcher, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.

require "google/cloud/video/stitcher"

##
# Get the specified stitch detail for a VOD session
#
# @param project_id [String] Your Google Cloud project (e.g. `my-project`)
# @param location [String] The location (e.g. `us-central1`)
# @param session_id [String] The VOD session ID (e.g. `my-vod-session-id`)
# @param stitch_detail_id [String] The stitch detail ID (e.g. `my-stitch-id`)
#
def get_vod_stitch_detail project_id:, location:, session_id:, stitch_detail_id:
  # Create a Video Stitcher client.
  client = Google::Cloud::Video::Stitcher.video_stitcher_service

  # Build the resource name of the VOD stitch detail.
  name = client.vod_stitch_detail_path project: project_id, location: location,
                                       vod_session: session_id,
                                       vod_stitch_detail: stitch_detail_id

  # Get the VOD stitch detail.
  stitch_detail = client.get_vod_stitch_detail name: name

  # Print the VOD stitch detail name.
  puts "VOD stitch detail: #{stitch_detail.name}"
end