Skip to content

livego

A simple Go server that receives live video over RTMP and plays it back as FLV or HLS.

Stars
10.2k
Forks
2k
Licence
MIT
Language
Go
Last update
11 months ago
Type
App

What it is

livego is a live streaming server written in Go. You send it a live video feed using the RTMP protocol, often from broadcasting software or ffmpeg, and viewers can then watch it over RTMP, HTTP-FLV, or HLS. The README describes it as simple to install and cross-platform, with pre-built binaries and a Docker image available.

  • Push a test video file to a local server with ffmpeg and play it back in a browser or player
  • Run a local RTMP ingest point for a streaming setup and serve it as HLS
  • Save incoming streams to FLV files using the flv_dir option
  • Serve HLS over HTTPS by providing your own certificate files

Great for

  • Developers who want to self-host a basic live streaming endpoint
  • Hobbyists testing RTMP push and HLS playback locally
  • Teams that need a small Go-based server they can read and modify
  • People who want to keep streams on their own machines instead of a hosted service

Not ideal for

  • Large public broadcasts that need a managed CDN, since the README describes no scaling or distribution features
  • Non-technical users who want a point-and-click broadcasting tool, since setup and use happen on the command line
  • Projects needing built-in authentication or recording beyond the options listed, since the README does not describe them
Step-by-step guide: how to use livegoInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Run with Docker

    You'll need: Docker

    Run with Docker

    docker run -p 1935:1935 -p 7001:7001 -p 7002:7002 -p 8090:8090 -d gwuhaolin/livego

    Clone the source

    git clone https://github.com/gwuhaolin/livego.git

    Build from source

    go build
  2. 2

    Run it

    • Start the server with Docker or by running the livego binary
    • Get a channel key from http://localhost:8090/control/get?room=movie
    • Push a video with ffmpeg to rtmp://localhost:1935/{appname}/{channelkey}
    • Play the stream at http://127.0.0.1:7001/{appname}/movie.flv or http://127.0.0.1:7002/{appname}/movie.m3u8
  3. 3

    Get the most out of it

    • Use the --level option to change log verbosity
    • Set use_hls_https to true in livego.yaml and provide server.key and server.crt to serve HLS over HTTPS
    • Use --hls_keep_after_end to keep HLS output after a stream ends
    • Use --flv_dir to save incoming streams as FLV files
    • Pair the HTTP-FLV endpoint with flv.js for browser playback, as described in the linked guide

Downloads

Strengths

  • The README describes it as simple to install: download a binary or run one Docker command
  • Supports common protocols (RTMP, HTTP-FLV, HLS) and codecs (H264, AAC, MP3)
  • Written in Go and released under the MIT license, so it is free to use and modify

Trade-offs

  • The README is short and does not document production deployment, security, or scaling
  • Stream keys are obtained from a local HTTP management endpoint, so you must secure that port yourself
  • The README is truncated, so some details may be missing

How it compares

ProjectStarsTypeLevelUpdatedBest for
livego (this)10.2kAppintermediate11 months agoDevelopers who want to self-host a basic live streaming endpoint
srs29.4kAppintermediate6 days agoDevelopers building live streaming backends that need several delivery protocols
mediamtx20.6kAppintermediate4 days agoPeople routing IP camera streams to viewers in a browser or media player
owncast11.6kAppintermediate11 days agoStreamers who want control over their content, interface and moderation
DPlayer16.5kLibraryintermediate8 months agoWeb developers who want an embeddable video player with scrolling comments
go2rtc14.6kAppintermediate11 days agoHome users connecting IP cameras to a browser or Home Assistant

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.