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.
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Video Stitcher API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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.
- Click Continue.
-
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:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
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. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Video Stitcher API.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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.
- Click Continue.
-
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:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
-
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. - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Use the gcloud CLI 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
- 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
- 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:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
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
. - Click Create and continue.
-
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.
- Click Continue.
-
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:
- In the Google Cloud console, click the email address for the service account that you created.
- Click Keys.
- Click Add key, and then click Create new key.
- Click Create. A JSON key file is downloaded to your computer.
- Click Close.
Livestream setup
If you are inserting ads into a livestream, follow the steps in this section (or see the steps for VOD).
Link the service account to the Ad Manager account
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 livestream events on your behalf. To do this, follow the steps to grant access to your service account:
- Sign in to Google Ad Manager (GAM).
- Click Admin > Global Settings.
- Make sure API access is enabled.
- Click Add a service account user.
- Complete the form, including the email address of the service account created previously.
- 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
- If your Ad Manager network uses teams, you must assign the "All entities" team to the service account user.
- Click Save and confirm the service account addition.
Create a livestream
You can use one of the Live Stream API quickstarts to set up a livestream. Both HLS and MPEG-DASH livestreams are supported (see the source manifest requirements). This procedure is optional; you can use your own existing livestream.
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 livestream active; don't follow the steps in the Clean up section until you are done with the livestream.
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 profileurn:mpeg:dash:profile:isoff-live:2011
- Should be multi-period with each period 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 livestream).
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.