Before you begin

This page shows you how to set up a Google Cloud project and configure service accounts to access the project.

Set up a Google Cloud project

Following these steps to set up a Google Cloud project.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Video Stitcher API.

    Enable the API

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Video Stitcher Admin role to the service account.

      To grant the role, find the Select a role list, then select Video Stitcher Admin.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  7. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  9. Make sure that billing is enabled for your Google Cloud project.

  10. Enable the Video Stitcher API.

    Enable the API

  11. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the Video Stitcher Admin role to the service account.

      To grant the role, find the Select a role list, then select Video Stitcher Admin.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  12. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  13. Set the environment variable GOOGLE_APPLICATION_CREDENTIALS to the path of the JSON file that contains your credentials. This variable applies only to your current shell session, so if you open a new session, set the variable again.

  14. Install the Google Cloud CLI.
  15. To initialize the gcloud CLI, run the following command:

    gcloud init
  16. Use the gcloud tool to test your authentication environment. Check that the following command outputs a text string without errors:
    gcloud auth application-default print-access-token

Activate the service account

  1. In your terminal, set the active project for gcloud commands. Replace YOUR_PROJECT_ID with your project ID.
    gcloud config set project YOUR_PROJECT_ID
    
  2. Activate the service account. Replace PATH_TO_YOUR_SERVICE_KEY with the path to the JSON file you downloaded to your local machine.
    gcloud auth activate-service-account --key-file PATH_TO_YOUR_SERVICE_KEY
    

You will use this service account to authorize access and call the Video Stitcher API.

Create a service account with only permissions to create sessions

Since an OAuth token will be passed to a client application, create a separate service account with only permissions to create a session; thus a leaked OAuth token cannot compromise your resources, such as VOD/live configs or CDN keys.

Create a service account:

  1. In the Google Cloud console, go to the Create service account page.

    Go to Create service account
  2. Select your project.
  3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

    In the Service account description field, enter a description. For example, Service account for quickstart.

  4. Click Create and continue.
  5. Grant the Video Stitcher User role to the service account.

    To grant the role, find the Select a role list, then select Video Stitcher User.

  6. Click Continue.
  7. Click Done to finish creating the service account.

    Do not close your browser window. You will use it in the next step.

Create a service account key:

  1. In the Google Cloud console, click the email address for the service account that you created.
  2. Click Keys.
  3. Click Add key, and then click Create new key.
  4. Click Create. A JSON key file is downloaded to your computer.
  5. Click Close.

Live stream setup

If you are inserting ads into a live stream, follow the steps in this section (or see the steps for VOD).

Once the service account is created, you must link that service account to your Ad Manager account. This allows the Video Stitcher API to create live stream events on your behalf. To do this, follow the steps to grant access to your service account:

  1. Sign in to Google Ad Manager (GAM).
  2. Click Admin > Global Settings.
  3. Make sure API access is enabled.
  4. Click Add a service account user.
  5. Complete the form, including the email address of the service account created previously.
  6. Select a role, which must include the Manage video content with dynamic ad insertion from Google Cloud Video Stitcher permission. You should create a custom role named Live Stream Manager specifically for management of this service account. The custom role should have at least the following permissions:
    • Manage video content with dynamic ad insertion from Google Cloud Video Stitcher
    • View creatives (required by the preceding permission)
    • View video content, bundles, and metadata
    • View content sources
  7. Click Save and confirm the service account addition.

Create a live stream

You can use one of the Live Stream API quickstarts to set up a live stream. Both HLS and MPEG-DASH live streams are supported (see the source manifest requirements). This procedure is optional; you can use your own existing live stream.

The Live Stream API quickstarts use Application Default Credentials for authentication, but you can use the service account you already set up. For this option, make sure the service account has the Live Stream Editor role.

Make sure to keep the live stream active; don't follow the steps in the Clean up section until you are done with the live stream.

Source manifest requirements

The Video Stitcher API registers the config with Ad Manager by parsing the source manifest. The source manifest must have certain characteristics depending on the format.

HLS

  • Container format may be either:
    • muxed MPEG-TS
    • unmuxed MPEG-TS
    • unmuxed FMP4
  • At least one rendition in the manifest with the following (properly populated) fields:
    • codecs
    • bandwidth

MPEG-DASH

  • MPD@type set to dynamic (@type="dynamic")
  • MPD@profiles includes the ISO Live profile urn:mpeg:dash:profile:isoff-live:2011
  • One or more Periods each containing one or more Adaptation Sets
  • Each Adaptation Set contains one or more Representations
  • The Representations contain or inherit a SegmentTemplate with the $Number$ or the $Time$ identifier
  • @segmentAlignment set to true for all Adaptation Sets
  • Representations must be non-empty

VOD stream setup

If you are inserting ads into a VOD stream, follow the steps in this section (or see the steps for a live stream).

Create the VOD source files

This workflow requires an MPEG-DASH manifest (MPD) file, or an HTTP Live Streaming (HLS) manifest (M3U8) file, and the associated segment files. You can use your own existing VOD files or you can create VOD source files using the Transcoder API.