whatisgithub

What is livego?

gwuhaolin/livego — explained in plain English

Analysis updated 2026-06-24

10,174GoAudience · ops devopsComplexity · 3/5Setup · moderate

In one sentence

Livego is a lightweight self-hosted live video streaming server written in Go, it receives a stream from broadcasting software via RTMP and delivers it to viewers via HLS, HTTP-FLV, or RTMP, with optional on-disk recording.

Mindmap

mindmap
  root((Livego))
    What it does
      Receive RTMP stream
      Distribute to viewers
      Record to FLV file
    Input
      RTMP from OBS
      RTMP from ffmpeg
    Output formats
      HLS for browsers
      HTTP-FLV
      RTMP direct
    Setup
      Single binary
      Docker one-liner
      HTTPS with SSL cert
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run your own live streaming server on a VPS without depending on YouTube or Twitch, keeping full control of the stream.

USE CASE 2

Accept a stream from OBS or ffmpeg via RTMP and serve it to viewers in a browser using HLS with broad device compatibility.

USE CASE 3

Record a live stream to an FLV file on disk while simultaneously delivering it to live viewers.

USE CASE 4

Set up a private streaming server for internal events or demos using a single Docker command and a channel key.

What is it built with?

GoRTMPHLSHTTP-FLVDocker

How does it compare?

gwuhaolin/livegogoogle/osv-scannerkedacore/keda
Stars10,17410,16810,181
LanguageGoGoGo
Setup difficultymoderateeasymoderate
Complexity3/52/54/5
Audienceops devopsops devopsops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a domain and SSL certificate only for HTTPS delivery, basic HTTP streaming works without any extra configuration.

So what is it?

Livego is a self-hosted live video streaming server written in Go. You run it on your own machine or server, and it handles receiving a video stream from a broadcaster and distributing it to viewers. The typical workflow has two sides. On the broadcasting side, a video source such as a camera or recording software pushes a video stream to the livego server using RTMP, a protocol commonly used for live video. On the viewing side, people can watch the stream using one of three supported delivery methods: RTMP for players that support it directly, HTTP-FLV for web-based players, or HLS for broad compatibility including mobile devices and modern browsers. Setting it up involves downloading the compiled binary and running it directly, or using Docker with a single command. Once running, you request a channel key from a built-in management endpoint, then provide that key to your broadcasting software as part of the stream destination address. Viewers connect to a separate playback address that does not require the key. The server supports the H264 video codec, AAC audio, and MP3 audio. It can record streams to FLV files on disk while they are live. HTTPS is supported for HLS delivery by placing SSL certificate files alongside the executable and enabling the option in the configuration file. This is a lightweight, single-binary tool suited for situations where you want to run your own streaming infrastructure without depending on platforms like YouTube or Twitch. It is cross-platform and described by its author as simple to install and use. The README is brief and does not cover advanced configuration in depth beyond the command-line flag reference.

Copy-paste prompts

Prompt 1
Show me how to set up livego using Docker and configure OBS Studio to push a stream to it with the correct RTMP destination and stream key.
Prompt 2
I want to let viewers watch a livego stream in a web browser. Which output format should I use, how do I get the playback URL, and what player can I embed?
Prompt 3
How do I request a channel key from livego's management API endpoint and use it with ffmpeg to push a test video stream from the command line?
Prompt 4
Walk me through enabling HTTPS for HLS delivery in livego, including where to place the SSL certificate files and what config option to set.

Frequently asked questions

What is livego?

Livego is a lightweight self-hosted live video streaming server written in Go, it receives a stream from broadcasting software via RTMP and delivers it to viewers via HLS, HTTP-FLV, or RTMP, with optional on-disk recording.

What language is livego written in?

Mainly Go. The stack also includes Go, RTMP, HLS.

How hard is livego to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is livego for?

Mainly ops devops.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.