What is this?
livego is a simple, efficient live video streaming server written in pure Go: you push a video stream into it, and it re-serves that stream to viewers over RTMP, HTTP-FLV and HLS.
Is it a server I run myself, or a library I code against?
A standalone server you self-host: start the livego binary, fetch a channelkey from its HTTP API, and it handles stream ingest and playback for you — no coding required.
How do I get it running?
Fastest is Docker: docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego. You can also download a prebuilt binary and execute it, or build from source with go build or make build.
Do I need to install anything besides livego?
No — it is one self-contained pure-Go binary. You only bring an encoder to push with (the README example uses ffmpeg) and a player that speaks RTMP, FLV or HLS.
Which protocols and codecs can it handle — anything it won't serve?
It covers the common live stack: RTMP, AMF, HLS and HTTP-FLV for transport, FLV and TS containers, H264 video with AAC or MP3 audio. Formats outside that list are not supported.
Do I need to know Go to use it?
No — running it is just executing a binary or a Docker command. Go only matters if you want to compile it yourself from source.
How do I publish a stream and play it back?
Get a channelkey from the running server, push your stream to rtmp://localhost:1935/{appname}/{channelkey} (default appname is 'live'), then watch via the RTMP, FLV or HLS playback URLs the README lists.
Which ports does it listen on?
The Docker command exposes four: 1935 for RTMP, plus 7001, 7002 and 8090, which carry the HTTP-based endpoints — the channelkey API and HTTP-FLV/HLS playback.
Can the HLS output be served over HTTPS?
Yes: generate an SSL certificate (server.key and server.crt), place both files next to the livego executable, and switch usehlshttps to true in livego.yaml — it is false by default.
Why did the author build livego?
The README's stated goal is a live broadcast server that is very simple to install and use: pure Go for high performance and cross-platform runs, with the common streaming protocols built in.
What are similar projects?
srs, nginx-rtmp-module, go2rtc, ZLMediaKit, owncast, mediamtx, iptv-api, stash
Which topics is it in?
h264, rtmp, livestream, media-server, hls, media, live-streaming, http-server, video-streaming, realtime, ffmpeg, http