Recipe

Video streaming basics

Deliver low-latency video streams from your Meridian edge nodes without third-party CDNs. This recipe covers HLS packaging, adaptive bitrate ladder configuration, and client-side playback with automatic quality switching.

Prerequisites

  • Meridian CLI v2.4+ installed and authenticated
  • At least one edge node with GPU transcoding enabled
  • Source video in MP4 or MKV container

Step 1 — Ingest the source

Upload your source file to the Meridian origin store. The ingest pipeline automatically validates codec compatibility and generates a manifest placeholder.

meridian stream ingest ./input.mp4 --name my-live-stream

Step 2 — Define the ABR ladder

Create a ladder profile specifying resolution, bitrate, and codec for each rendition. Meridian supports H.264 and AV1 output.

ladder:
  - res: 1920x1080, br: 6000k, codec: h264
  - res: 1280x720,  br: 3000k, codec: h264
  - res: 640x360,   br: 1000k, codec: h264

Step 3 — Start the stream

Launch transcoding workers across your edge fleet. Meridian distributes segments in real time and serves the HLS playlist from the node closest to each viewer.

meridian stream start my-live-stream --ladder ladder.yml

Step 4 — Embed the player

Use the Meridian player snippet. It handles ABR switching, buffer health monitoring, and automatic fallback to the lowest rendition on degraded connections.

<script src="https://cdn.getnimbus.net/player/meridian-player.js">
</script>
<meridian-player stream="my-live-stream" autoplay muted>
</meridian-player>

Next steps