Product Updates | Contact Support | System Status
Page Contents

    Using Zencoder with Google Cloud Storage

    This topic explains the setup for using Zencoder on the Google Cloud Platform.

    Google Cloud Storage Setup

    Follow the steps below to use Zencoder on the Google Cloud Platform.

    1. Go to Cloud Storage settings and click on the Interoperability tab:
      Interoperability Tab
      Interoperability Tab
    2. In the User account HMAC select your project as default and click on Create Key:
      Create Access Key
      Create Access Key
    3. Save the Access Key and Secret to enter in Zencoder later.
    4. Add a new principal on the permission at bucket level for allAuthenticatedUsers with Storage Object Viewer role. You need to activate the public to internet option.
      Add New Prinical
      Add New Prinical
    5. Add the Access Key and Secret to Zencoder in the Credentials section of the Zencoder Dashboard:
      Enter Credentials in Zencoder
      Enter Credentials in Zencoder

    Transcoding

    The example below shows a working job which pulls an input video from GCS, creates renditions for HTTP Live Streaming, and sends the output streams to GCS. You can test this out by changing my-bucket to an existing GCS bucket that you own and pasting this into the Request Builder.

    Example HLS Job Using GCS

      {
          "test": true,
          "input": "gcs://zencoder-testing/test.mov",
          "output": [
          {
              "audio_bitrate": 64,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "filename": "file-64k.m3u8",
              "segment_seconds": 2,
              "format": "aac",
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "type": "segmented"
          },
          {
              "audio_bitrate": 56,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "decoder_bitrate_cap": 360,
              "decoder_buffer_size": 840,
              "filename": "file-240k.m3u8",
              "segment_seconds": 2,
              "max_frame_rate": 15,
              "type": "segmented",
              "video_bitrate": 184,
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "width": 400,
              "format": "ts"
          },
          {
              "audio_bitrate": 56,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "decoder_bitrate_cap": 578,
              "decoder_buffer_size": 1344,
              "filename": "file-440k.m3u8",
              "segment_seconds": 2,
              "type": "segmented",
              "video_bitrate": 384,
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "width": 400,
              "format": "ts"
          },
          {
              "audio_bitrate": 56,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "decoder_bitrate_cap": 960,
              "decoder_buffer_size": 2240,
              "filename": "file-640k.m3u8",
              "segment_seconds": 2,
              "type": "segmented",
              "video_bitrate": 584,
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "width": 480,
              "format": "ts"
          },
          {
              "audio_bitrate": 56,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "decoder_bitrate_cap": 1500,
              "decoder_buffer_size": 4000,
              "filename": "file-1040k.m3u8",
              "segment_seconds": 2,
              "type": "segmented",
              "video_bitrate": 1000,
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "width": 640,
              "format": "ts"
          },
          {
              "audio_bitrate": 56,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "decoder_bitrate_cap": 2310,
              "decoder_buffer_size": 5390,
              "filename": "file-1540k.m3u8",
              "segment_seconds": 2,
              "type": "segmented",
              "video_bitrate": 1484,
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "width": 960,
              "format": "ts"
          },
          {
              "audio_bitrate": 56,
              "audio_sample_rate": 22050,
              "base_url": "gcs://my-bucket/",
              "decoder_bitrate_cap": 3060,
              "decoder_buffer_size": 7140,
              "filename": "file-2040k.m3u8",
              "segment_seconds": 2,
              "type": "segmented",
              "video_bitrate": 1984,
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "width": 1024,
              "format": "ts"
          },
          {
              "base_url": "gcs://my-bucket/",
              "filename": "playlist.m3u8",
              "streams": [
              {
                  "bandwidth": 2040,
                  "path": "file-2040k.m3u8"
              },
              {
                  "bandwidth": 1540,
                  "path": "file-1540k.m3u8"
              },
              {
                  "bandwidth": 1040,
                  "path": "file-1040k.m3u8"
              },
              {
                  "bandwidth": 640,
                  "path": "file-640k.m3u8"
              },
              {
                  "bandwidth": 440,
                  "path": "file-440k.m3u8"
              },
              {
                  "bandwidth": 240,
                  "path": "file-240k.m3u8"
              },
              {
                  "bandwidth": 64,
                  "path": "file-64k.m3u8"
              }
              ],
              "headers":{
                  "x-goog-acl": "public-read"
              },
              "type": "playlist"
          }
          ]
      }

    Page last updated on 12 Jan 2022