Overview
The Lattice Video API manages the lifecycle of live video streams in the Lattice common operational picture (COP). Use it to register an ingress source, attach the stream to an asset entity, and list, retrieve, or stop streams as your scene evolves.
Concepts
IngressStream object
An IngressStream message represents a single live stream and carries the following fields:
Unique stream identifier returned by CreateIngressStream. Supply your own value at creation time, or let the server generate one.
Human-readable label for the stream, set at creation.
Current lifecycle state of the stream. See Stream lifecycle for the full set of values.
Time the stream was registered.
Time the stream’s status was last changed.
Identifiers of any active egress streams that re-publish this stream downstream.
Holds an MpegTsIngress, RtspIngress or SrtIngress describing how Lattice receives frames.
Stream lifecycle
A stream moves through the following statuses during its lifetime:
Entity association
Attach a stream to a Lattice asset entity through the entity’s media.media[] field. Set a MediaItem with type = MEDIA_TYPE_VIDEO and its identifier set to the stream’s ingress_id,
then call OverrideEntity with field_path = ["media.media"] to apply the change without disturbing other components.
The legacy VideoAssociation message on the stream and CreateIngressStreamRequest is deprecated. Instead, attach streams to entities
through the media component instead.
Ingress protocols
Lattice supports the following video protocols:
- RTSP: Provide a Real Time Streaming Protocol (RTSP),
rtsp://, URL inRtspSettings.url. Lattice pulls frames from it; the response contains no additional connection details. - MPEG-TS: Send an empty
MpegTsSettings. The response contains anMpegTsIngresswith a URL; push MPEG transport stream (MPEG-TS) packets to that URL. Use this protocol when the source cannot accept inbound RTSP connections. MPEG-TS ingress is supported only at the edge, in closed networks. If you connect to Lattice over the public internet, you can’t start an MPEG-TS stream, but you can still list or inspect an existingIngressStreamthat uses it. - SRT: Send an
SrtSettingswith an optionalpassphrase. The response contains anSrtIngresswith a URL and asession_id; push the SRT stream to that URL using the supplied session ID. Set a passphrase to apply AES encryption to the stream.
What’s next
- Publish a camera asset and start an RTSP ingress stream.
- List, retrieve, stop, and manage existing streams.