Transcoder API in Google Cloud: Turning One Video Into Many

Transcoder API in Google Cloud: Turning One Video Into Many

A complete, plain-English guide to converting video files into the right formats, sizes and streaming packages for every phone, laptop and television, using a managed service instead of servers you maintain yourself.

Imagine you wrote a long letter and want every friend to read it. One friend only reads large print, another reads on a tiny phone screen, a third has slow internet and can only receive short pieces at a time, and a fourth speaks a different language. You would need to prepare many versions of the same letter, each fitted to one reader. Doing that by hand for one letter is fine. Doing it for ten thousand letters every week would need a whole print shop.

Video faces exactly this problem. A single recording made on a camera or uploaded by a customer must be turned into many versions before it can play smoothly everywhere. The Transcoder API in Google Cloud is the managed print shop for video: you hand it a file, describe the versions you want, and it produces them for you. This guide explains every part of that service so clearly that you could teach it to someone else.

1What Is the Transcoder API?

A managed Google Cloud service that converts stored video files into new formats, sizes and streaming packages.

The Short Definition

The Transcoder API is a service you reach through a standard web interface, using either REST or RPC calls, to submit, watch and manage video conversion jobs. You place a source video in Cloud Storage, tell the service what you want, and it writes the converted results back into Cloud Storage. You never create virtual machines, install conversion software or manage queues of work.

Two words matter here. Transcoding means converting video from one digital form to another, for example changing its compression method, its picture size or its container. Managed means Google runs the machines and scales them, so your job is only to describe the result you want.

Simple Analogy

Think of a photocopy shop that can also resize, bind and laminate. You drop off one original, fill a small form saying “three sizes, bound as booklets,” and later collect finished copies. The Transcoder API is that shop for video, and the form you fill in is called a job.

What It Is Used For

The service is built for file-based video, meaning videos that already exist as files. Typical uses include preparing uploaded videos for a streaming website, creating several quality levels for adaptive playback, producing small preview clips and thumbnail images, adding a logo or caption track, protecting content with encryption, and creating audio-only versions of a recording.

An Important Caution About Timing

Processing is asynchronous. That means you submit a job and come back later for the result; there is no strong promise about how long a job will take. For this reason the service is not suited to situations where a person is staring at a screen waiting for the converted file. It fits best in background workflows where a video is uploaded now and becomes ready to watch after a short while.

File-based
Works on stored video files, not live feeds
Asynchronous
Submit now, collect results later
Managed
No servers or encoding software to run

2Why Video Needs Transcoding

The hidden reasons a raw video file almost never plays well straight from the camera.

Devices and Networks Are All Different

A video recorded on a professional camera can be enormous. It may have a very large picture, a very high data rate and a compression method that only editing software understands. Playing it directly on a phone over a mobile network would stutter or fail. Viewers use televisions, tablets, old laptops and new phones, each supporting different compression methods and different connection speeds.

Three Problems One File Cannot Solve

Problem 1

Compatibility

Different devices understand different compression methods and containers, so one format cannot please everyone.

Problem 2

Bandwidth

A viewer on a weak connection needs a smaller, lighter version, while a viewer on fast fiber deserves a sharper one.

Problem 3

Delivery

Streaming works best when video is cut into small pieces described by a playlist, not served as one giant download.

Problem 4

Protection and polish

Businesses often need logos, subtitles, thumbnails and encryption added before publishing.

!
Common Misconception

Many beginners think video is simply “a file you upload and play.” In reality, almost every video you watch online has been converted into several versions and cut into small segments first. That hidden preparation is what makes playback feel smooth.

The Do-It-Yourself Burden

Before managed services, teams installed open-source conversion tools on their own machines. That works for a few videos. At scale you must build a queue, scale machines up for busy days and down for quiet ones, handle crashes halfway through long conversions, patch the software and watch costs. Each task is solvable, yet together they become a full-time platform to maintain. A managed transcoding service removes that burden so the team can focus on the product that uses the video.

“Viewers never see transcoding when it works, and never forget it when it doesn’t.”

3Core Concepts and Vocabulary

Ten terms that appear in every Transcoder API conversation, each explained from scratch.

Video technology has a lot of jargon. The good news is that you only need a handful of ideas to understand this service. For each term below, notice three things: what it is, why it exists and where you will meet it.

Term 1

Codec

The method used to compress and decompress video or audio. Common video codecs include H.264, H.265 and VP9, and a common audio codec is AAC.

Term 2

Container

The file wrapper that holds video, audio and text together, such as MP4. The container is the box; the codecs describe what is inside.

Term 3

Elementary Stream

A single track of one kind, such as one video track at one size or one audio track in one language.

Term 4

Mux Stream

A recipe that combines elementary streams into an output container, such as an MP4 file or a set of transport segments.

Term 5

Manifest

A playlist file that tells a video player which pieces exist and where to fetch them. HLS and DASH are the two main manifest styles.

Term 6

Bitrate

How much data each second of video uses. Higher bitrate usually means better picture and larger files.

Term 7

Adaptive Bitrate Ladder

A set of video versions at different sizes and bitrates, listed in a manifest so the player can switch between them as the connection changes.

Term 8

Job

One request to the service to convert one input into specified outputs. It is the basic unit of work.

Term 9

Job Template

A saved, reusable job recipe stored in a region and referenced by name, so you do not repeat the same settings every time.

Term 10

Preset

A ready-made template supplied by Google. The default preset is called preset/web-hd.

Simple Analogy

Imagine shipping furniture. The codec is how tightly each item is flat-packed. The container is the shipping box. Elementary streams are the separate parts, such as the legs and the tabletop. The mux stream is the packing instruction that says which parts go in which box, and the manifest is the delivery checklist that tells the receiver what arrives and in which order to assemble it.

Container Versus Codec

Beginners often mix these two. A file ending in the MP4 name only tells you the box. Inside, the video might be compressed with H.264 or H.265. Two MP4 files can behave very differently on the same phone. Whenever something fails to play, ask two separate questions: does the device understand the container, and does it understand the codecs inside?

4Architecture and Components

The moving parts between an uploaded video and the finished files.

The Big Picture

The service sits between two Cloud Storage locations. On one side is an input location holding your source video. On the other is an output location where finished files appear. In between is the control plane, which receives job requests, keeps their status and orchestrates the conversion on Google-managed machines.

flowchart LR
    A["Source video in Cloud Storage"] --> B["Job request via REST or RPC"]
    B --> C["Transcoder API control plane"]
    C --> D["Prepare: download, analyze, validate"]
    D --> E["Transcode: encode video and audio"]
    E --> F["Package: mux, manifests, upload"]
    F --> G["Output files in Cloud Storage"]
    C --> H["Job status and errors"]
    C --> I["Optional notifications"]
        
FIG 1 — High-level flow of a Transcoder API job

Read the diagram from left to right. Your request describes inputs, streams, containers and manifests. The control plane accepts it and runs three internal stages. First comes preparation, where the file is downloaded, analyzed and validated. Then comes transcoding, where video and audio are encoded. Finally comes packaging, where streams are stitched together, containers and manifests are created and outputs are uploaded.

Key Components Explained

Control plane

The brain that stores job requests and templates, tracks each job’s state and starts the work. You talk to it through the web interface, the command line or client libraries.

Processing workers

Google-managed machines that actually perform the encoding. You never see or manage them, and capacity is handled for you within published quotas.

Cloud Storage

The place where both inputs and outputs live. The output folder does not need to exist beforehand, because the service adds the folder name to output object names.

Job templates and presets

Reusable recipes. Custom templates are created per location, and Google provides presets such as the default web preset.

Service agent

A Google-managed identity created for your project when the first job is made. It reads from and writes to your buckets on your behalf, which is why storage permissions matter so much.

i
Why It Matters

Because the compute is managed, your responsibilities shrink to three things: describing the result correctly, granting correct storage permissions and watching job outcomes.

5Supported Inputs and Outputs

What the service can read, and what it can produce.

One of the most practical questions is simple: will my file work? The service accepts a wide variety of input types and produces a focused set of widely playable outputs. The official documentation page on supported formats is the final authority, since lists can grow over time, but the tables below give a reliable mental map.

What You Can Feed In

KindExamples Accepted
ContainersMP4, MOV, MKV, WebM, AVI, MPEG-2 TS, MXF (OP1A variant), WMV, plus audio containers such as MP3, WAV and AAC
Video codecsH.264, H.265, VP8, VP9, ProRes, DNxHD, MPEG-2, MPEG-4 Part 2, VC-1, Theora and several professional camera formats
Audio codecsAAC, AC3, E-AC3, MP3, Opus, FLAC, Vorbis, PCM, WMA and others
CaptionsSCC, SRT and VTT
Overlay imagesJPG and PNG
Color spacesRec.601, Rec.709 and Rec.2020

What You Can Produce

KindExamples Produced
Streaming formatsApple HLS with transport-stream or fragmented MP4 segments, and MPEG-DASH with fragmented MP4
Standalone filesMP4, MP3 and OGG (Vorbis only)
Video codecsH.264, H.265 and VP9
Audio codecsAAC-LC, AAC-HE, AAC-HEv2 (stereo only), AC3, E-AC3, MP3 and Vorbis
CaptionsCEA-608/708 and WebVTT
ImagesJPG tiles and single images, used for thumbnails and sprite sheets
!
Check Before You Promise

Do not assume a codec you have heard of is supported for output. Input support is broad, but output support is deliberately narrower. Confirm the list in the official documentation before designing a workflow around a specific output codec.

Why Output Is Narrower Than Input

The service aims to produce formats that nearly every modern player understands. It is easier to accept many strange inputs, because decoding is a one-time conversion, than to promise many outputs, because each output format needs ongoing support and testing. In practice, the three video codecs on the output side cover the vast majority of web and mobile playback needs.

Simple Analogy

A translation office may accept letters written in dozens of languages but only publish final copies in a handful of widely read languages. The office reads broadly and writes carefully.

6The Life of a Job

From submitting a request to finding finished files, step by step.

Before You Start

You need a Google Cloud project with the API enabled, a bucket for inputs, a place for outputs and permission to create jobs. When you create your first job, Google creates a service agent for your project. This can take a few minutes, so a brief permission error right after first use is normal and usually clears if you wait and try again.

The Journey

1

Upload the source

Place the video in a Cloud Storage bucket. Both input and output are named by their storage addresses.

2

Create the job

Send a request that names the input, the output location and either a template or a full custom configuration, in a specific region.

3

Job is pending

A newly created job starts in a pending state while the service accepts it and finds capacity to run it.

4

Prepare, transcode, package

The service downloads and checks the input, encodes the streams, then muxes them and writes manifests and files back to storage.

5

Finish or fail

On success, outputs appear in the output location. On failure, an error field on the job explains what went wrong.

6

Retention

Completed job records are removed after a default period of 30 days, which can be adjusted with a setting on the job.

sequenceDiagram
    participant U as Your Application
    participant S as Cloud Storage
    participant T as Transcoder API
    participant A as Service Agent
    U->>S: Upload source video
    U->>T: Create job with input, output, config
    T-->>U: Job accepted, state pending
    T->>A: Use agent identity
    A->>S: Read source video
    T->>T: Prepare, transcode, package
    A->>S: Write outputs and manifests
    U->>T: Get job status
    T-->>U: Succeeded or error details
        
FIG 2 — Sequence of events for one transcoding job

The sequence shows that your application never moves the video bytes itself. It only sends instructions and checks results. The heavy lifting happens between the service agent and Cloud Storage. This is why a missing storage permission is among the most common reasons a job fails.

i
Practical Habit

Start every new workflow with a short test clip. A ten-second sample proves permissions, regions and output naming in minutes, before you commit hours of processing on a full-length film.

7Presets and Job Templates

Reusable recipes that save time and prevent mistakes.

The Default Preset

If you create a job without naming any template, the service uses a built-in preset called preset/web-hd. It expects an input with at least one video track and one audio track. In return it produces two H.264 video renditions, one at 640 by 360 and one at 1280 by 720, an AAC audio stream, and both HLS and DASH playlists. Standalone SD and HD MP4 files are also part of this default result.

This preset is a convenient first step. With one short request you receive a working streaming package. Many teams start here and only later graduate to custom recipes.

Custom Job Templates

A custom template is a configuration saved in a specific region under a name you choose. When you create a job in that region, you refer to the template by its identifier instead of repeating dozens of settings. Templates make results consistent across thousands of jobs and make changes manageable: update the template recipe in one place and future jobs follow it.

Simple Analogy

A preset is a recipe card printed on the back of a food package. A custom template is your own family recipe card, saved in your kitchen drawer. Either way, you do not rewrite the steps every time you cook.

Template Versus Ad-hoc Configuration

Using templates

  • Consistent output across many jobs
  • Smaller, simpler job requests
  • Central place to review and change recipes
  • Easier governance and auditing

Using ad-hoc configuration

  • Settings can differ job by job
  • Requests are long and easy to get wrong
  • Harder to know which recipe produced which file
  • Useful for experiments and one-off needs
!
Regional Reminder

Templates belong to a location. A template saved in one region is not automatically available in another, so create templates wherever you plan to run jobs.

1

Start with the default preset

Prove the workflow end to end using the built-in recipe.

2

Experiment with ad-hoc configuration

Adjust sizes, bitrates and outputs on sample videos until the result is right.

3

Promote the winner to a template

Save the proven configuration as a named template and use it in production.

8Anatomy of a Configuration

The five building blocks inside every custom job recipe.

When you do not use a template, you send a configuration object. It may look long, yet it is made of only a few pieces, and they fit together logically. Learn the pieces once and every configuration becomes readable.

Block 1

Inputs

Names each source file and gives it a key, so other parts of the recipe can refer to it.

Block 2

Elementary Streams

Describes each video and audio track you want to create, with codec, size, bitrate and frame rate settings.

Block 3

Mux Streams

Describes output containers and which elementary streams go into each one.

Block 4

Manifests

Describes playlist files for streaming, listing which mux streams each playlist should include.

Block 5

Output

Names the storage location where everything produced will be written.

flowchart TD
    I["Inputs"] --> V1["Video stream 360p"]
    I --> V2["Video stream 720p"]
    I --> A1["Audio stream AAC"]
    V1 --> M1["Mux stream: segments for 360p"]
    V2 --> M2["Mux stream: segments for 720p"]
    A1 --> M3["Mux stream: audio segments"]
    M1 --> H["HLS manifest"]
    M2 --> H
    M3 --> H
    M1 --> D["DASH manifest"]
    M2 --> D
    M3 --> D
    H --> O["Output location"]
    D --> O
        
FIG 3 — How inputs, streams, muxes and manifests connect in one configuration

How the Pieces Reference Each Other

Each block gives its items a key, and later blocks refer to earlier items by key. A mux stream lists the keys of the elementary streams it packages. A manifest lists the keys of the mux streams it describes. This is exactly like a table of contents that refers to chapter names. If a key is misspelled or missing, the job fails with a clear validation message, so errors are easy to find once you know to look for mismatched names.

One Encoding, Many Packages

A beautiful property of this design is that encoding and packaging are separate. You can encode a video stream once and include it in both an HLS playlist and a DASH playlist. Because those playlists reuse the same encoded streams, you do not pay again for encoding the video twice, and storage stays efficient.

i
Default Values

If you omit many fields, the service fills in sensible defaults. After a first job, read the returned configuration to learn which defaults were applied. It is the fastest way to understand what the service decided on your behalf.

9Adaptive Bitrate Streaming and the Ladder

How one video can adjust itself to every viewer’s connection, second by second.

The Idea in Plain Words

When you watch a streaming video on a phone and walk from a strong Wi-Fi area into a weak mobile area, the picture often becomes a bit blurry and then sharp again, without stopping. That is adaptive bitrate streaming. The video exists in several versions, and the player quietly switches between them depending on how fast data is arriving.

The collection of versions is called the ladder, because each rung is a step up in size and quality. Your job when designing a ladder is to pick the rungs, and the Transcoder API’s job is to produce them and list them in a manifest.

Simple Analogy

Think of a water tap with several pipe sizes. When water pressure is low, the system chooses a thin pipe so water keeps flowing steadily. When pressure is strong, it switches to a wide pipe. Viewers never notice the switch, only that the water, or the video, never stops.

Designing Rungs

A ladder usually contains a few resolutions with matching bitrates. The default web preset has two rungs: a small one and a high-definition one. Larger services add more rungs to serve very weak connections and very large screens. More rungs give smoother switching but cost more to produce and store, because each video rendition is billed and stored separately.

Rung StyleTypical AudienceTrade-off
Small picture, low bitrateWeak mobile networks and small screensSoft picture but very reliable playback
Medium picture, medium bitrateTypical home Wi-Fi and laptopsGood balance of quality and cost
High-definition picture, higher bitrateFast connections and televisionsSharper picture, larger files
Ultra-high-definition pictureLarge displays on excellent networksHighest cost and storage, limited audience
!
Common Mistake

Building a huge ladder “just in case.” Every extra video rendition adds processing and storage cost. Study your audience’s devices and connections first, then add rungs only where they help real viewers.

Why Aspect Ratio and Size Limits Matter

Each job has maximum input and output dimensions, including an output width of 4096 pixels and an output height of 2160 pixels. A rung also should keep the picture’s original shape, otherwise people look stretched or squashed. The service offers options to preserve aspect ratio, crop or pad with black bars when the target shape differs from the source.

flowchart LR
    SRC["One source video"] --> E1["Encode 360p rung"]
    SRC --> E2["Encode 720p rung"]
    SRC --> E3["Encode 1080p rung"]
    E1 --> MF["Manifest lists all rungs"]
    E2 --> MF
    E3 --> MF
    MF --> PL["Player switches rung by network speed"]
        
FIG 4 — One source becomes an adaptive ladder referenced by a manifest

10Quality, Bitrate and Rate Control

How the encoder decides how much data to spend on each moment of video.

Why Rate Control Exists

Video scenes differ. A talking head against a plain wall needs little data to look good, while a football match with fast motion and green grass needs much more. The encoder must decide how to spend data across the whole video, and the strategy it uses is called rate control.

Mode 1

Constant Rate Factor

Aims for steady visual quality across the video and lets file size vary. A good choice for archives or masters where quality matters most.

Mode 2

Variable Bitrate

Aims to control the data rate, reducing file size while keeping quality acceptable. A good choice for streaming, where predictable bandwidth matters.

Simple Analogy

Constant quality is like a painter who spends as long as each scene needs, however big the final bill. Variable bitrate is like a painter given a fixed budget who spends less on simple scenes to save more for complicated ones.

Practical Quality Decisions

Higher bitrate does not always look better to a viewer. Beyond a point, extra data brings little visible improvement while costing more to store and deliver. Test a few settings on representative content, such as a dark movie scene, a sports clip and a screen recording, and compare them side by side on real devices. Decisions made by eye on real samples beat any rule of thumb.

Frame Rate and Other Controls

You can influence frame rate, which is how many pictures appear each second, including exact output frame rate settings. Matching the source frame rate generally avoids jerky motion. Other controls include codec profile choices, keyframe spacing that affects how quickly viewers can jump around a video, and options such as deinterlacing, which cleans up older footage that was recorded in an interlaced style.

i
Keyframes and Segments

Streaming playlists cut video into small segments, and each segment should begin at a keyframe so a player can start there cleanly. Keep keyframe spacing consistent across all rungs in a ladder so the player can switch rungs smoothly at segment boundaries.

“Spend data where the eye can see it, and nowhere else.”

11Editing Features: Overlays, Edit Lists and Cropping

Shaping the picture and the timeline without opening a video editor.

Edit Lists: A Timeline Recipe

An edit list describes how pieces of input files are placed on an output timeline. With it you can trim a clip, take only the middle part of a long recording, or join pieces from several inputs into one finished video. Because the outcome is described by instructions, the original files remain untouched. The total duration of an edit list is limited to twenty-four hours.

Simple Analogy

An edit list is like a cooking plan that says “use two minutes from the first tape, then thirty seconds from the second, then the final minute of the first.” You never cut the original tapes; you only write the plan.

Concatenation

Joining several videos into one is a common need, such as adding an intro and an outro to every upload. By listing multiple inputs and placing them in sequence on the edit list, the service produces a single continuous output. Plan to use matching shapes and frame rates where possible so transitions look natural.

Overlays

Overlays place an image on top of the video. A typical use is a logo in a corner. Image overlays support transparent backgrounds with PNG files, and can be shown for a chosen period or animated in simple ways. Overlays are rendered into the picture permanently in that output, so every viewer sees them and they cannot be turned off.

!
Burned-In Means Permanent

Anything you overlay becomes part of the pixels. If you may need a clean version later, keep the original source file and consider producing both a clean and an overlaid output rather than discarding the clean one.

Cropping, Padding and Aspect Ratio

Tool 1

Cropping

Removes edges of the picture, for example to turn a wide frame into a square one.

Tool 2

Padding

Adds black bars so a picture fits a target shape without stretching.

Tool 3

Aspect ratio preservation

Keeps the original shape of the picture when changing its size.

Tool 4

HDR conversion

Converts input video into high-dynamic-range formats when richer brightness and color are needed.

Deinterlacing and Gaps

Older broadcast footage is sometimes interlaced, a technique that draws alternate lines in each pass. Modern screens look better with progressive pictures, so deinterlacing options clean this up. For videos with many missing frames, a content-gap filling option can help produce smoother results.

1

Decide the target shape

Choose output sizes and whether to crop or pad when the source shape differs.

2

Plan the timeline

Use an edit list to trim or combine inputs.

3

Add branding last

Apply overlays after the picture shape is settled, so logos land where you expect.

12Audio Handling

Sound deserves as much care as the picture, and viewers notice bad audio faster.

Audio Streams

Audio is produced as its own elementary stream, with its own codec, bitrate, channel layout and sample rate. The service supports popular output codecs such as AAC variants, AC3, E-AC3, MP3 and Vorbis. A stereo AAC track is the most widely playable choice for general web use.

Loudness Normalization

Different videos are recorded at different volumes. Without correction, a viewer moving between two clips may jump to adjust the volume every time. Loudness normalization adjusts audio toward a consistent perceived level, so a whole library feels uniform. This is especially valuable for platforms built from many different uploaders.

Simple Analogy

Imagine a radio station where every song plays at a different volume. Listeners constantly reach for the knob. Normalization is the engineer who quietly levels every song so nobody has to.

Audio-Only Outputs

Not every use needs a picture. The service can produce audio-only outputs, including standalone MP3 and OGG Vorbis files. This is useful for podcast versions of video content, voice-only previews and accessibility products. Audio-only output is billed at its own, lower per-minute rate.

Languages and Labels

Streams can carry language codes and display names. This lets a player show choices such as different spoken languages, and helps a manifest describe which audio track belongs to which language. Correct labeling is small work that makes a large difference for international audiences.

i
Check the Source Tracks

The default web preset expects at least one video and one audio track in the input. A silent video can fail validation under that preset, so make sure the source has the tracks the recipe expects, or use a configuration designed for video-only content.

13Captions and Subtitles

Making video understandable to people who cannot hear it, or who speak another language.

Why Captions Matter

Captions help viewers who are deaf or hard of hearing, people watching in noisy places, and people watching with the sound off, which is very common on phones. Subtitles help viewers who do not speak the video’s language. Together they widen your audience and, in many places, support legal accessibility requirements.

What the Service Accepts and Produces

Caption and subtitle files in common text formats such as SRT, VTT and SCC can be supplied as inputs and mapped into the output. Output can include embedded caption formats suited to broadcast-style players, and WebVTT for web players. Standalone VTT outputs are also available when you want caption files separate from the video.

StyleWhere It LivesGood For
Embedded captionsInside the video segmentsPlayers that expect broadcast-style captions
WebVTT tracksSeparate text tracks listed in the manifestWeb players with selectable subtitles
Standalone VTT fileIndependent text fileSearch, transcripts and flexible use elsewhere

Automatically Generated Subtitles

The service can generate subtitles automatically from speech, which is a major time saver for large libraries. Generated subtitles are billed per minute for each subtitle track, so decide which languages truly add value. As with any automatic transcript, review important content for accuracy, especially names, technical terms and sensitive material.

!
Automatic Is Not Perfect

Machine-generated text can misspell names or misunderstand accents and noisy audio. Treat it as a strong first draft. For legal, medical or high-profile content, have a person review and correct it before publishing.

Simple Analogy

Auto-generated subtitles are like a very fast note-taker at a meeting. They capture nearly everything quickly, but a careful editor should still check the important parts before the notes are published.

14Thumbnails, Sprite Sheets and Ad Breaks

The small extras that make a video player feel professional.

Thumbnails and Posters

A thumbnail is a small still image that represents a video in a list, and a poster is the image shown before playback starts. The service can extract single images or tiles of images as JPG files from moments you choose. Good thumbnails strongly influence whether people click, so many teams generate several candidates and pick the best one.

Sprite Sheets

When you drag the progress bar of a player and see tiny preview pictures, those previews usually come from a sprite sheet. A sprite sheet is one large image made of many small frames taken at regular intervals. The player cuts out the right small frame as you drag. Sprite sheets support aspect-ratio preservation and quality settings, and one job can create several of them, up to a documented limit.

Simple Analogy

A sprite sheet is like a contact sheet of photographs on a single page. Instead of loading hundreds of tiny pictures one by one, the player loads the page once and simply looks at the right square.

Ad Break Keyframes

Platforms that show advertisements need to start ads at exact moments, and that is only clean when a keyframe sits at that moment. The service can insert keyframes at chosen times so that ad insertion systems can splice cleanly without visible glitches. It also supports signaling used in broadcast workflows. Marking ad break positions during transcoding keeps later ad insertion simple and reliable.

Extra 1

Thumbnail images

Stills extracted at chosen times for lists and posters.

Extra 2

Sprite sheets

Tiled preview frames that power hover and scrub previews.

Extra 3

Ad break keyframes

Clean splice points for advertising insertion.

Extra 4

Labels

Tags on jobs and resources that help with organization and cost tracking.

i
Plan Extras Up Front

Decide on thumbnails, sprite sheets and ad break positions when you design the recipe, not afterward. Producing them in the same job avoids reprocessing the whole video later.

15Content Protection and Encryption

Keeping paid or private video from being freely copied.

The Problem

Premium movies, paid courses and private corporate videos should not be downloadable and shareable by anyone who finds a link. Encryption scrambles the video so that only players holding the right key can unscramble and show it.

What the Service Supports

The service supports content encryption for streaming outputs, including common approaches used by major digital rights management systems and standard encryption schemes for both transport-stream and fragmented MP4 packaging. These let you integrate with widely used playback ecosystems on phones, browsers and televisions.

Simple Analogy

Encryption is like shipping a locked box. Anyone can carry the box, but only a person with the right key can open it. The key is handed out separately by a license server after checking that the viewer is allowed to watch.

Two Halves of the Solution

Half 1

Encrypting the video

Handled during transcoding, when the service scrambles segments and records key information in the playlists.

Half 2

Issuing keys

Handled by a license or key service that decides who gets keys and under what conditions.

!
Encryption Is Not Access Control

Scrambled video is only as safe as your key delivery. Protect the license service, restrict who can request keys, and combine encryption with sensible storage permissions so the raw source file is never public.

Compatibility Planning

Different devices favor different protection systems. A broad audience often needs more than one scheme packaged together. Test on every target device family, because a protected stream that plays on a laptop might refuse to start on a particular television.

16Interactive Mode Versus Batch Mode

Two ways to run jobs, designed for two different business needs.

Interactive Mode

Interactive is the default. Jobs start as soon as capacity allows, which suits situations where results are wanted soon after upload. A limit applies to how many interactive jobs can run at once in a region, and requests beyond that limit are rejected rather than queued.

Batch Mode

Batch mode is for large volumes where speed matters less than steady throughput, such as converting an entire back catalog. Jobs wait in a pending queue and are processed in first-in, first-out order within the same priority. You can assign priorities so important jobs move ahead. Separate limits apply to how many batch jobs can run at once and how many can wait in the queue.

Interactive mode suits

  • New uploads that should become watchable quickly
  • Moderate, steady daily volume
  • Workflows needing prompt status feedback
  • Small sets of jobs submitted on demand

Batch mode suits

  • Library migrations with thousands of files
  • Overnight reprocessing with new settings
  • Workloads that tolerate waiting in a queue
  • Situations where interactive limits would reject jobs
Simple Analogy

Interactive mode is a walk-in counter where you are served as soon as a clerk is free, but the counter has a limited number of clerks. Batch mode is a drop-off box: you leave many parcels, they are processed in order, and you collect the results later.

flowchart TD
    N["New video upload"] --> I["Interactive job: start as soon as possible"]
    L["Large back catalog"] --> Q["Batch jobs wait in pending queue"]
    Q --> P["Higher priority first, then first-in first-out"]
    I --> R["Results in Cloud Storage"]
    P --> R
        
FIG 5 — Interactive and batch modes can run side by side
i
Use Both Together

The two modes can be used at the same time, and neither takes precedence over the other. A common design sends fresh uploads through interactive mode and background catalog work through batch mode, so a huge re-encode never blocks today’s new videos.

17Regions, Storage and Data Location

Where jobs run, and why the place of your files matters.

Jobs Belong to a Region

Every job runs in a specific Google Cloud region that you choose when you create it. You list and manage jobs within that region, and job templates are also stored per region. The service is offered in around twenty regions across the Americas, Europe and Asia, and the official list is the place to confirm the current set.

Keep Data and Compute Close

Video files are large, and moving large files across long distances takes time and may cost money. A sensible habit is to keep the source bucket, the output bucket and the job region in the same geographic area. This usually gives faster processing, lower network charges and a simpler story when you must prove where data lives.

Rule 1

Match regions

Place buckets and jobs close together to reduce delay and transfer cost.

Rule 2

Templates per region

Create the same template in each region where you run jobs.

Rule 3

Respect data rules

If law or policy limits where media may be processed, choose a compliant region before the first job.

Rule 4

Plan for quotas per region

Concurrency and request limits apply region by region, so busy workloads can spread across regions when allowed.

Output Folders and Naming

The output folder does not need to exist beforehand. The service creates object names that include the folder you specify. Establish a naming convention early, such as one folder per video identifier, so that finding, serving and deleting outputs for any video is straightforward.

i
Lifecycle Rules

Use Cloud Storage lifecycle rules to move rarely watched outputs to cheaper storage classes or delete temporary renditions automatically. Video storage grows quietly and can become your largest long-term cost.

flowchart LR
    SB["Source bucket"] --> J["Job in chosen region"]
    J --> OB["Output bucket"]
    OB --> CDN["Delivery network"]
    CDN --> V["Viewers"]
    LC["Lifecycle rules"] --> OB
        
FIG 6 — Storage and delivery path around a transcoding job

18Security, Identity and Access

Who can submit jobs, and which identity actually touches your video files.

Two Layers of Permission

Security around this service has two separate layers, and confusing them is the most common beginner mistake. The first layer decides who may create, view or delete jobs and templates. The second layer decides which storage the service itself may read from and write to while it works.

Layer 1

People and applications

Controlled by roles. A viewer role allows reading jobs and templates, and an admin role allows creating and deleting them. Permissions are checked on the project.

Layer 2

The service agent

A Google-managed identity created when your first job is made. It reads sources and writes outputs in Cloud Storage, and can publish status messages if notifications are used.

Simple Analogy

Think of a courier company. Your office rules decide which employees are allowed to book a delivery. Separately, the courier driver needs a gate pass to enter your warehouse and collect the parcel. The first is who may order; the second is who may physically touch the goods.

The Default Agent Access and Least Privilege

By default, the service agent can read and write files in all the storage buckets of the project and publish to all of its messaging topics. That is convenient for a first test but broader than many organizations want. To tighten this, remove the broad default role and grant the agent access only to the specific buckets it needs, plus publish access only on the specific topics used for notifications.

ANTI-PATTERN-01 Avoid
Problem

A team leaves the default agent access in place in a project that also stores unrelated sensitive data in other buckets.

Why It’s Harmful

A mistake in a job request, or a compromised application, could point the service at buckets that have nothing to do with video, exposing or overwriting unrelated data.

Correct Approach

Use a dedicated project for media, or remove the broad default role and grant object access only on the specific source and output buckets.

Protecting Source and Output Files

Treat source uploads as private. Original masters are valuable and often contain unreleased content. Keep source buckets closed to the public, let only trusted applications write to them, and deliver outputs to viewers through a controlled delivery layer rather than by making whole buckets public. Combine this with encryption for premium content.

!
Brief Permission Delay

The service agent may take a few minutes to appear after your first job. If you receive a permission error immediately after enabling the service, wait a little and try again before changing any settings.

19Notifications and Event-Driven Pipelines

Letting the rest of your system know the moment a video is ready.

Polling Versus Being Told

One way to learn that a job has finished is to ask repeatedly, “Are you done yet?” That wastes effort and adds delay. A better way is to be told. The service can publish job updates to a Pub/Sub topic, a messaging service where one part of a system posts messages and other parts receive them. Your application subscribes and reacts the moment a job finishes or fails.

Simple Analogy

Polling is calling the pizza shop every two minutes to ask whether your order is ready. A notification is giving them your phone number and letting them call you when the pizza is done.

A Typical Event-Driven Flow

1

Upload triggers a job

A new object in the source bucket causes a small function or service to create a transcoding job.

2

Job runs in the background

The Transcoder API processes the video without any waiting on your side.

3

Status message is published

When the job ends, a message with the outcome is sent to a topic you configured.

4

Your system reacts

A subscriber marks the video ready in a database, notifies the uploader or starts follow-up work such as quality checks.

sequenceDiagram
    participant C as Creator
    participant B as Source Bucket
    participant F as Trigger Function
    participant T as Transcoder API
    participant P as Pub/Sub Topic
    participant D as Video Database
    C->>B: Upload video
    B->>F: Object created event
    F->>T: Create job
    T->>T: Process video
    T->>P: Publish job finished
    P->>D: Subscriber marks video ready
        
FIG 7 — An upload-to-ready pipeline using events instead of polling

Designing for Failure

Messages can arrive more than once, and jobs can fail. Make your subscriber idempotent, which means handling the same message twice without causing harm, for example by checking whether a video is already marked ready. Route failure messages to a place where a person or an automated retry step will see them. Never assume every upload leads to a successful output.

i
Orchestration Options

For multi-step workflows with branching, such as transcode, then check quality, then publish, a workflow service can coordinate the steps and handle retries, keeping your own code small.

20Cost, Quotas and Limits

What you pay for, what you cannot exceed, and how to plan around both.

The Billing Idea

You are billed for each minute of output produced, not for each minute of input. If you feed in a thirty-minute recording but ask for a two-minute clip, you are billed for two minutes. Each video stream you produce is priced according to its resolution category, which are standard definition, high definition and ultra high definition, and higher categories cost more per minute. The cost of a job is the output duration multiplied by the combined rate of all the video streams you requested.

ItemHow It Is Billed
Each video output streamPer output minute, at the rate of its resolution category
Several resolutions in one jobEach one is billed, and the rates are added together
HLS and DASH playlists reusing the same streamsNo extra video charge, since each stream is billed once
Audio inside a video jobCounted as part of the video processing, with no separate charge
Audio-only outputIts own, lower per-minute rate
Automatically generated subtitlesPer minute for each subtitle track
!
Always Check Current Prices

Rates, tiers and discount programs can change. Use the official pricing page and the pricing calculator for current numbers. This guide describes how billing works, not what it costs today.

Costs Outside the Service

Cost 1

Storage

Source files and every rendition you keep are billed as normal storage and grow with your library.

Cost 2

Delivery

Serving video to viewers usually becomes the largest long-term cost for popular content.

Cost 3

Messaging and compute

Notifications, trigger functions and workflow steps cost little each but add up at volume.

Cost 4

Reprocessing

Re-encoding a whole catalog to change settings repeats the processing bill, so test settings on a small sample first.

Quotas You Should Know

Limits protect the service and your budget. Request rates are limited per minute per region, with much higher allowance for reading job information than for creating or deleting jobs. Interactive mode limits how many jobs run at once in a region. Batch mode has its own concurrency limit and a much larger allowance for pending jobs waiting in the queue. All quotas apply to the whole project and are shared by every application using it. If you need more, you can request an adjustment through the console.

Limits Inside a Single Job

LimitValue
Maximum input width and height4096 pixels each
Maximum output width4096 pixels
Maximum output height2160 pixels
Total output size per job400 GB
Maximum edit list duration24 hours
Video, audio and text streams70, 50 and 50
Mux streams, manifests and sprite sheets100, 100 and 10
i
Cost Habit

Compute an expected cost per video before launch: output minutes times the number and tier of renditions. Multiply by monthly uploads. This simple estimate prevents the most common budget surprises.

21Monitoring and Troubleshooting

Knowing quickly when a job fails, and working out why.

What to Watch

A video that never becomes ready is a customer-facing failure, so observe the pipeline at several points: job state changes, error details on failed jobs, the arrival of expected output files, and the time between upload and readiness. A simple dashboard of how many jobs succeeded and failed each day reveals trends long before users complain.

1

Job state

Check whether each job is pending, running, succeeded or failed.

2

Error field

Read the message attached to failed jobs, which names the stage and reason.

3

Output verification

Confirm manifests and files exist and are non-empty after a job reports success.

4

Playback testing

Periodically play a sample on real devices, because a technically successful job can still produce a stream that a certain device dislikes.

Common Failure Causes

SymptomLikely CauseFirst Thing To Check
Permission denied reading inputService agent lacks access to the source bucketBucket-level role for the service agent
Permission denied writing outputAgent cannot write to the output bucketObject-writing role on the output bucket
Input rejected at the startMissing audio or video track expected by the recipeTrack list of the source file
Validation error on configMismatched keys between streams, muxes and manifestsNames used in each block
Job rejected on creationConcurrent job limit reached in interactive modeCurrent quota usage, or switch to batch mode
Video plays on one device onlyCodec, container or protection scheme mismatchOutput formats versus device support
Template not foundTemplate exists in a different regionRegion of the job versus the template
i
Debugging Order

Work from the outside in. First confirm identity and storage access, then region and quota, then the configuration, and only then the details of the media itself. Most failures are access or naming mistakes, not encoding problems.

22Advantages, Disadvantages and Alternatives

An honest look at where the service shines and where another tool fits better.

Advantages

  • No servers or encoding software to install, patch or scale
  • Simple job model with reusable templates and presets
  • Produces streaming playlists and standalone files in one request
  • Supports captions, overlays, thumbnails, sprite sheets and encryption
  • Interactive and batch modes for different workloads
  • Billing is per output minute and easy to estimate

Disadvantages / Trade-offs

  • Asynchronous with no strong timing guarantee, unsuitable for instant results
  • Narrower output codec choices than input choices
  • Per-job and per-region limits to design around
  • Less low-level control than running your own encoding software
  • Works on stored files, not on live broadcasts

Neighboring Options

OptionBest ForCompared With the Transcoder API
Transcoder APIFile-based conversion with minimal operationsEasiest path for most on-demand video workflows
Live streaming serviceConverting live feeds in real timeBuilt for live events, while the Transcoder API handles stored files
Open-source encoder on virtual machinesMaximum control over every encoding settingMore flexible, but you manage scaling, queues and failures
Containers running encodersCustom pipelines with scalable workersFlexible, yet still requires building and operating the pipeline
Third-party video platformsAll-in-one hosting, player and analyticsFaster to launch but less control over data and cost structure
“Use the managed service while it fits; build your own only when it truly stops fitting.”
i
Decision Rule

If your need is converting stored video into standard streaming and download formats, start here. If you need real-time live conversion, or encoding features outside the supported list, evaluate other tools for those cases while keeping this service for the rest.

23Design Patterns and Anti-Patterns

Habits that keep a video pipeline calm, and habits that make it brittle.

Patterns That Work

Upload, transcode, publish

Treat the pipeline as three clear stages. Uploads land in a private source bucket, jobs write to a separate output bucket, and only verified outputs are exposed to viewers.

Template per product tier

Create a small number of templates, such as one for standard videos and one for premium content with encryption, and let the application choose by name.

Idempotent job creation

Use predictable output folders per video identifier so a retried request overwrites its own outputs instead of creating confusing duplicates.

Separate modes for separate urgencies

Send new uploads through interactive mode and bulk reprocessing through batch mode so each type of work has room to run.

Verify before announcing

After a job succeeds, check that the manifest and key files exist before telling a user their video is ready.

Anti-Patterns To Avoid

ANTI-PATTERN-02 Avoid
Problem

An application waits on a web page for the transcoding job to finish before showing the uploader a result.

Why It’s Harmful

Processing time is not guaranteed. Users stare at a spinner, requests time out, and long videos always seem to break the experience.

Correct Approach

Accept the upload, show a “processing” state immediately, and update the page when a notification or status check shows the video is ready.

ANTI-PATTERN-03 Avoid
Problem

A team encodes every video at every possible resolution and bitrate.

Why It’s Harmful

Processing and storage costs multiply, while most viewers only ever use two or three renditions.

Correct Approach

Study real viewing patterns, build a modest ladder and expand it only when data shows a need.

ANTI-PATTERN-04 Avoid
Problem

Source and output are placed in the same public bucket for convenience.

Why It’s Harmful

Original masters and unreleased content can become reachable by anyone who guesses or finds a link.

Correct Approach

Keep sources private and separate. Expose only the delivery outputs, through a controlled path.

24Best Practices and Common Mistakes

A practical checklist you can apply to your very next job.

Before Your First Job

1

Enable the service and create buckets

Use separate private buckets for sources and outputs, in the same area as your chosen job region.

2

Decide who may create jobs

Grant the admin role only to the application identities that truly need it, and the viewer role to dashboards.

3

Tighten the service agent

Grant bucket-level access instead of project-wide access where your policy requires it.

4

Read the format and limit pages

Confirm your inputs and desired outputs are supported and fit within the documented limits.

After the First Job

1

Play the result on real devices

Test a phone, a laptop browser and a television before declaring success.

2

Save a template

Turn the working recipe into a named template for consistent reuse.

3

Add notifications and alerts

Make sure failures reach a person and not just a log file.

4

Estimate and track cost

Compute cost per video and review actual spend monthly using labels.

Mistakes Seen Again and Again

!
Mistake 1

Assuming a green job means the video plays everywhere, without testing on real devices.

!
Mistake 2

Creating a template in one region and wondering why it is missing in another.

!
Mistake 3

Forgetting that completed job records are removed after a default retention period, so any audit trail must be copied elsewhere.

!
Mistake 4

Overlaying a logo permanently and then losing the clean source.

!
Mistake 5

Sending thousands of jobs through interactive mode and being surprised when many are rejected at the concurrency limit.

25A Complete Reference Architecture

Putting every idea from this guide into one coherent video platform design.

Let us combine everything into one design for a company that lets customers upload training videos and wants them to play smoothly on any device within minutes. The goals are simple: private uploads, automatic conversion, protected delivery, quick status feedback and predictable cost.

Layer One: Ingest

Customers upload through a controlled path into a private source bucket. A small trigger reacts to each new file by checking its type and size, then records the video as “processing” in a database. Nothing is public at this stage.

Layer Two: Transcode

The trigger creates a job in the chosen region using a named template. Standard videos use a ladder suited to typical viewers, and premium videos use a template with encryption. Outputs go to a separate output bucket under a folder named after the video identifier. Interactive mode handles new uploads, while batch mode handles occasional re-encoding of older videos.

Layer Three: Publish

When the job finishes, a notification reaches a subscriber. The subscriber verifies that the manifest and thumbnails exist, updates the database to “ready” and informs the uploader. Only then does the player page expose the video.

Layer Four: Deliver and Observe

A delivery network serves the outputs to viewers, so the output bucket itself is never opened broadly. Dashboards track upload-to-ready time, job failures, quota usage and monthly cost per video. A runbook explains what to do for each alert.

flowchart TD
    U["Customer upload"] --> SB["Private source bucket"]
    SB --> TR["Trigger: validate and record processing"]
    TR --> TA["Transcoder API job using named template"]
    TA --> OB["Output bucket: renditions, manifests, thumbnails"]
    TA --> PS["Job status notification"]
    PS --> SUB["Subscriber verifies outputs"]
    SUB --> DB["Database marks video ready"]
    OB --> CDN["Delivery network"]
    CDN --> PL["Viewer player"]
    TA --> MON["Dashboards and alerts"]
    SUB --> MON
        
FIG 8 — A four-layer reference design for an on-demand video platform
Simple Analogy

This design is like a restaurant kitchen line. Ingredients arrive at a locked receiving door (ingest), are prepared by the kitchen (transcode), checked by the head chef before leaving the pass (publish), and carried by waiters to the tables (deliver), while a manager watches the whole flow (observe).

LayerMain ResponsibilityMain Risk It Controls
IngestAccept and record uploads privatelyUnwanted or oversized files, public exposure
TranscodeConvert using named templates in the right modeInconsistent output and quota rejections
PublishVerify outputs and flip status to readyAnnouncing videos that are not actually playable
Deliver and observeServe securely and watch health and costSilent failures and surprise bills

26Real-World Scenarios

Five realistic situations showing how the pieces fit together.

Scenario 1: An online learning platform

Instructors upload lectures of many shapes and sizes. Each upload is converted to an adaptive ladder, thumbnails are generated for course pages, and captions are produced so students can follow along in noisy places. Paid courses use a template with encryption so lectures cannot be freely copied.

Scenario 2: A news publisher

Reporters send footage from phones in many formats. The service normalizes everything into standard web formats, adds a logo overlay, normalizes loudness so clips sound consistent, and creates short previews for social sharing. Ad break keyframes prepare long reports for sponsored placements.

Scenario 3: An e-commerce product video library

A retailer has thousands of product clips. They are converted into small, fast-loading versions suited for mobile shoppers, and square crops are produced for social feeds. Large catalog refreshes run overnight through batch mode so daily uploads are never slowed.

Scenario 4: A podcast-from-video workflow

A media company turns recorded interviews into both video episodes and audio-only versions. Standalone audio files are produced alongside video renditions, and generated subtitles become searchable transcripts for the website.

Scenario 5: A corporate communications archive

A company records all-hands meetings. Videos are trimmed with edit lists to remove idle time, converted to a standard ladder and stored privately, with access limited to employees through a controlled delivery layer. Old recordings move to cheaper storage through lifecycle rules.

Capacity Planning for Busy Days

Video traffic is rarely smooth. A product launch, a news event or the end of a school term can send thousands of uploads within hours. Plan for these peaks before they happen. Estimate how many jobs you may create at the busiest hour, compare that number with the interactive concurrency limit in each region, and decide in advance which work can wait in batch mode. If you still expect to exceed the limits, request a quota adjustment early, because approvals are not instant, or spread work across several regions where your data rules allow.

Pair capacity planning with graceful behavior in your application. When a creation request is rejected for being over the limit, wait briefly and try again with increasing delays, instead of hammering the service. Show users an honest “your video is in the queue” message. People accept a short wait far more easily than an unexplained error.

Lessons Teams Report

Start small and visible

Teams that begin with the default preset and a handful of real videos learn the shape of the service within days, then refine recipes with confidence.

Make status visible to users

A clear processing state with a progress message prevents repeated uploads, which would otherwise double processing cost.

Keep originals

Teams that keep original sources can re-encode later with better settings or new formats, while teams that delete them are stuck with whatever they produced first.

i
Common Thread

In every case, unpredictable source files are turned into a small, predictable set of outputs, with privacy, cost control and accessibility handled by design rather than by heroic effort.

27Plain-English Glossary and Quick Reference

Every important term from this guide, defined in one or two simple sentences.

Term

Transcoding

Converting video or audio from one digital form to another, such as a different codec, size or container.

Term

Rendition

One finished version of a video at a particular size and bitrate.

Term

HLS

A popular streaming style that uses playlists and small segments, widely supported on Apple devices and many players.

Term

DASH

An open streaming standard that also uses playlists and segments, widely used on the web and Android devices.

Term

Segment

A short slice of video, usually a few seconds long, that a player downloads one after another.

Term

Keyframe

A complete picture inside a video that later frames refer to, and a safe place for a player to start or switch.

Term

Sprite sheet

One image made of many small preview frames, used for scrubbing previews.

Term

Edit list

A set of instructions placing pieces of inputs on an output timeline.

Term

Service agent

A Google-managed identity that performs storage and messaging work on behalf of the service.

Term

Pub/Sub

A messaging service where one part of a system publishes messages and others subscribe to receive them.

Term

Idempotent

Safe to repeat: doing the same action twice has the same effect as doing it once.

Term

Least privilege

Granting only the permissions a task truly needs, and no more.

Common Misunderstandings Cleared Up

“Transcoding is instant”

It is a background process with no strong timing promise. Design screens and workflows that show a processing state.

“Any codec I can read, I can also write”

Input support is much broader than output support. Check the output list before choosing a workflow.

“More renditions always mean better playback”

Extra rungs improve switching only up to a point, while cost and storage rise with every one.

“HLS and DASH double my encoding bill”

Both playlists can reuse the same encoded streams, so video streams are billed once.

“Job history is kept forever”

Completed jobs are removed after a default period, so keep your own records if you need an audit trail.

A Simple Testing Strategy

Video problems are easiest to fix before launch. Build a small library of test files that represent your real uploads: a short clip from a phone held vertically, a long landscape recording, a file with no audio track, a very dark scene, a fast sports scene and a screen recording. Run every new template against this library and review the results on at least one phone, one laptop browser and one television or streaming device. Keep notes about what each test taught you, so that future changes can be judged against the same yardstick.

Also test failure on purpose. Upload a corrupted file, remove a permission and request an unsupported setting. Watching how the pipeline reports each failure shows whether your alerts and your user messages are clear enough, and it turns surprises in production into familiar events.

A Short Pre-Launch Checklist

Privacy

Are sources private?

Source buckets are closed to the public, and only trusted applications can write to them.

Access

Is the agent limited?

The service agent can reach only the buckets and topics that the workflow genuinely needs.

Visibility

Will we know about failures?

Failure notifications reach a monitored place, and dashboards show success rates and readiness time.

Cost

Is spend understood?

Expected cost per video is calculated, resources carry labels and storage lifecycle rules are in place.

Quality

Does it play everywhere?

Representative test files have been played on real devices, including captions and protected content.

Recovery

Can we retry safely?

Output folders are predictable, subscribers are idempotent and a runbook explains how to reprocess a video.

One-Page Decision Guide

If You Need To…Reach For
Get a working streaming package quicklyThe default web preset
Produce consistent output across thousands of videosA custom job template per region
Convert a huge back catalog without blocking new uploadsBatch mode alongside interactive mode
Protect premium contentEncryption in the recipe plus a controlled key service
Know the moment a job finishesJob notifications through Pub/Sub
Show preview pictures while scrubbingSprite sheets generated in the job
Support viewers who cannot hearCaptions and subtitle tracks
Convert a live broadcastA service designed for live streaming, not this one

28Frequently Asked Questions

Q1Does the Transcoder API work on live video?

No. It converts files that already exist in storage. Live broadcasts need a service built for real-time live streaming.

Q2How long does a job take?

It depends on the video length, the number and size of outputs and current load. There is no strong timing guarantee, so design your workflow to be asynchronous.

Q3Where do inputs and outputs live?

In Cloud Storage. Both are named by their storage addresses, and the output folder is created for you when needed.

Q4What does the default preset produce?

Two H.264 renditions at 640 by 360 and 1280 by 720, an AAC audio stream, HLS and DASH playlists, and standalone SD and HD MP4 files. Its input needs at least one video and one audio track.

Q5Can I produce both HLS and DASH from one job?

Yes. Both playlists can reference the same encoded streams, so you do not encode the video twice.

Q6How am I billed?

Per minute of output, with each video stream priced by its resolution category. Audio inside a video job adds no separate charge, audio-only outputs have their own lower rate, and automatic subtitles are billed per minute for each track. Check the official pricing page for current rates.

Q7What is the difference between interactive and batch mode?

Interactive mode starts jobs as soon as capacity allows but rejects jobs beyond the concurrency limit. Batch mode queues jobs, supports priorities and suits large volumes where waiting is acceptable. Both can be used together.

Q8Who needs which permissions?

People and applications need roles to create, view or delete jobs and templates. Separately, the service agent needs access to the source and output buckets. By default it has broad access, which can be narrowed to specific buckets.

Q9Can I add a logo to every video?

Yes, through overlays that support image files such as PNG with transparency. Remember that the logo becomes part of the picture in that output.

Q10Can I protect videos from copying?

You can encrypt streaming outputs using supported content protection schemes, and combine that with a controlled key service and private storage.

Q11How long are job records kept?

Completed jobs are deleted after a default of thirty days, and you can change the period with a setting on the job.

Q12Why does a video play on some devices and not others?

Usually because of codec, container or content protection differences. Test on real devices and make sure the output formats match what each target device supports.

29Summary and Key Takeaways

The Transcoder API turns the heavy, specialized work of preparing video into a managed service. You store a source file in Cloud Storage, describe the outputs you want through a preset, a template or a custom configuration, and receive streaming playlists, standalone files, thumbnails and more in return. Around that core sit practical features such as captions, overlays, edit lists, encryption, batch processing and notifications. Success depends less on clever settings and more on steady habits: test on real devices, keep storage private, tighten the service agent’s access, choose the right mode for each workload, and watch both failures and cost.

Key Takeaways

  • Managed file-based conversion — the service converts stored video into web-ready formats without servers, and it is asynchronous with no strong timing guarantee.
  • Recipes at three levels — use the default preset to start, ad-hoc configuration to experiment and named templates for consistent production results.
  • Encode once, package many — streams, mux streams and manifests are separate, so HLS and DASH can reuse the same encoded video.
  • Design the ladder from real audiences — a modest set of renditions serves most viewers, and every extra rung adds cost and storage.
  • Two permission layers — control who may create jobs, and separately control what the service agent can read and write in storage.
  • Use the right mode — interactive for fresh uploads, batch for large catalogs, and both together when needed.
  • Plan cost and limits early — billing is per output minute by resolution tier, and quotas and per-job limits shape architecture.