Service: Livego - EyevinnOSC/community GitHub Wiki
Livego is a lightweight live video streaming server written in Go. It accepts RTMP streams from encoders (OBS, FFmpeg, etc.) and re-serves them over RTMP, HTTP-FLV, and HLS, making it easy to run a self-hosted live streaming backend. Available as an open web service in Eyevinn Open Source Cloud.
- An Eyevinn OSC account
- An encoder that can push RTMP (e.g. OBS Studio, FFmpeg, or GStreamer)
Navigate to the Livego service page and click Create livego. Enter a name (alphanumeric, no spaces) and click Create.
Wait for the instance status to turn green.
Livego uses a channel key to authenticate incoming RTMP streams. Obtain a key for a room name (e.g. mystream) by calling the control API:
curl "https://<instance-url>/control/get?room=mystream"The response contains a key value — use this as the stream key in your encoder. Each room has its own key; you can create as many rooms as you need.
Configure your encoder to push RTMP to:
rtmp://<instance-url>/live/<key>
Replace <key> with the value from Step 2.
OBS Studio:
- Go to Settings → Stream
- Set Service to Custom
- Set Server to
rtmp://<instance-url>/live - Set Stream Key to the key from Step 2
FFmpeg:
ffmpeg -re -i input.mp4 \
-c:v libx264 -preset veryfast -c:a aac \
-f flv rtmp://<instance-url>/live/<key>Once a stream is pushed, viewers can watch it over:
| Protocol | URL |
|---|---|
| RTMP | rtmp://<instance-url>/live/<room> |
| HTTP-FLV | https://<instance-url>/live/<room>.flv |
| HLS | https://<instance-url>/hls/<room>.m3u8 |
Replace <room> with the room name used in Step 2 (e.g. mystream).
osc create gwuhaolin-livego mystreamList your running instances:
osc list gwuhaolin-livegoRemove an instance when you no longer need it:
osc remove gwuhaolin-livego mystream