Overview of the Live Stream API

This page provides an overview of the Live Stream API. The Live Stream APItranscodes mezzanine live signals into direct-to-consumer streaming formats,including Dynamic Adaptive Streaming over HTTP (DASH/MPEG-DASH), and HTTP LiveStreaming (HLS), for multiple device platforms.

You first create an input endpoint, then create a channel resource thattranscodes the live SRT or RTMP input signal into an HLS or DASH output stream.Output streams created by the Live Stream API are saved to Cloud Storagebuckets. You can then configure a Cloud Storage bucket as a backend forMedia CDN.

Architecture overview for the Live Stream API.

Features

The Live Stream API includes support for the following features:

  • Automatic infrastructure provisioning

  • Integration with Cloud Storage, Cloud Audit Logs, and Google Cloudinfrastructure

  • Configuration of a backup input stream for redundancy

  • Live to video on demand (VOD)

  • Content encryption

  • Slates (image and video)

Supported inputs and outputs

The following tables show the supported input and output formats for theLive Stream API.

Input typesSupported formats
ProtocolsSRT, RTMP
Video codecsH.264 (AVC)
Audio codecsAAC
CaptionsEmbedded CEA-608/708 (passthrough)
Output typesSupported formats
ProtocolsApple HLS with fMP4 and MPEG2-TS segments, MPEG-DASHwith fMP4 segments
Video codecsH.264 (AVC)
Audio codecsAAC
CaptionsEmbedded CEA-608/708 (passthrough)
EncryptionAES-128, SAMPLE-AES, MPEG-CENC
Spritesheet imagesJPG tiles, single images

See thesupported configurations for content encryption.

Access control

The Live Stream API access control model is based onIdentity and Access Management (IAM). IAM's fine-grainedpermissions give you control over what can be done with media data, and by whom.

Concepts and terminology

This section provides a glossary of useful terms for working with theLive Stream API.

Channels

A channel is a resource that ingests the input stream through an input endpoint,transcodes the input stream into multiple renditions, and publishes output livestreams in certain formats in the specified location. You can include a primaryand backup input stream in the same channel.

Channel events

A channel event is a sub-resource of a channel that executes operations on achannel resource without needing to stop the channel. The following channelevents are supported:

  • Create ad break markers
  • Mute/unmute the live stream
  • Insert a slate into the live stream
  • Return to program (live stream)
  • Switch the channel input

Encoder

An encoder is a program used to send input streams, such asffmpeg.

Input endpoints

An input endpoint is an endpoint to which your encoder sends your input stream.You can use the input endpoint to specify configurations for your stream, suchas input resolution, input type, and video cropping.

An input endpoint consists of either an RTMP or SRT URI that looks like thefollowing:

rtmp://192.0.2.1/live/STREAM_ID
srt://192.0.2.1:4201?streamid=STREAM_ID

whereSTREAM_ID is a string such asb8ebdd94-c8d9-4d88-a16e-b963c43a953b.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.