Getting Started
Eyevinn Live Encoding is an RTMP-to-HLS live transcoding service. It accepts an RTMP push stream from any encoder or streaming software and outputs live HLS (and optionally MPEG-DASH) segments. You can serve the output directly or push it to a CDN origin such as AWS MediaPackage.
Prerequisites
- An OSC account (sign up here)
- A streaming source that can push RTMP (OBS, ffmpeg, hardware encoder, etc.)
Step 1: Create the encoder instance
Via web console
- Go to app.osaas.io/dashboard/service/eyevinn-live-encoding
- Click Create encoder
- Fill in the fields:
| Field | Default | Description |
|---|---|---|
| name | — | Short identifier for the instance, e.g. mystream |
| HlsOnly | true |
Output HLS only. Set to false to also generate MPEG-DASH |
| StreamKey | stream |
Stream key used in the RTMP URL |
| OutputUrl | — | CDN origin push URL (e.g. AWS MediaPackage ingest URL). Leave empty to serve directly from the instance |
- Click Create and wait for the instance to show status Running
Via CLI
npx -y @osaas/cli create eyevinn-live-encoding mystream \
-o StreamKey="mykey" \
-o HlsOnly="true"
Step 2: Push your stream
Once the instance is running, copy its URL from the dashboard. Your RTMP ingest URL is:
rtmp://<instance-ip>:1935/live/<StreamKey>
In OBS or any RTMP-capable encoder:
- Server: rtmp://<instance-ip>:1935/live
- Stream Key: the value you set for StreamKey (default: stream)
With ffmpeg:
ffmpeg -re -i input.mp4 \
-c:v libx264 -preset fast -b:v 2500k \
-c:a aac -b:a 128k \
-f flv rtmp://<instance-ip>:1935/live/stream
Step 3: Play the stream
The HLS playlist is available at:
https://<instance-url>/live/<StreamKey>/index.m3u8
Open the URL in a HLS-capable player or test it with the HLS Playlist Viewer.
Pushing to a CDN origin
To deliver the stream at scale, set OutputUrl to your CDN ingest endpoint:
npx -y @osaas/cli create eyevinn-live-encoding mystream \
-o StreamKey="mykey" \
-o OutputUrl="https://<username>:<password>@xxxxx.mediapackage.us-east-1.amazonaws.com/in/v2/<channel-id>/channel"
When OutputUrl is set, the encoder pushes the transcoded HLS segments to the origin automatically.
Resources
- Eyevinn Live Encoding on GitHub
- Service: HLS Stream Monitor — monitor stream health
- Service: FAST Channel Engine — turn live streams into FAST channels