Voltar ao ranking

gwuhaolin/livego

Go

live video streaming server in golang

livestreamgolangvideoflvflashrtmphlsh264
Crescimento de estrelas
Estrelas
10.2k
Forks
2k
Crescimento semanal
Issues
136
5k10k
jun. de 2017jun. de 2020jul. de 2023jul. de 2026
ArtefatosGo Modulesgo get github.com/gwuhaolin/livego
README

中文

Test Release CodeQL Advanced

Simple and efficient live broadcast server:

  • Very simple to install and use;
  • Pure Golang, high performance, and cross-platform;
  • Supports commonly used transmission protocols, file formats, and encoding formats;

Supported transport protocols

  • RTMP
  • AMF
  • HLS
  • HTTP-FLV

Supported container formats

  • FLV
  • TS

Supported encoding formats

  • H264
  • AAC
  • MP3

Installation

After directly downloading the compiled binary file, execute it on the command line.

Boot from Docker

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

Compile from source

  1. Download the source code git clone https://github.com/gwuhaolin/livego.git
  2. Go to the livego directory and execute go build or make build

Use

  1. Start the service: execute the livego binary file or make run to start the livego service;
  2. Get a channelkey(used for push the video stream) from http://localhost:8090/control/get?room=movie and copy data like your channelkey.
  3. Upstream push: Push the video stream to rtmp://localhost:1935/{appname}/{channelkey} through the RTMP protocol(default appname is live), for example, use ffmpeg -re -i demo.flv -c copy -f flv rtmp://localhost:1935/{appname}/{channelkey} push(download demo flv);
  4. Downstream playback: The following three playback protocols are supported, and the playback address is as follows:
    • RTMP:rtmp://localhost:1935/{appname}/movie
    • FLV:http://127.0.0.1:7001/{appname}/movie.flv
    • HLS:http://127.0.0.1:7002/{appname}/movie.m3u8
  5. Use hls via https: generate ssl certificate(server.key, server.crt files), place them in directory with executable file, change "use_hls_https" option in livego.yaml to true (false by default)

all options:

./livego  -h
Usage of ./livego:
      --api_addr string       HTTP manage interface server listen address (default ":8090")
      --config_file string    configure filename (default "livego.yaml")
      --flv_dir string        output flv file at flvDir/APP/KEY_TIME.flv (default "tmp")
      --gop_num int           gop num (default 1)
      --hls_addr string       HLS server listen address (default ":7002")
      --hls_keep_after_end    Maintains the HLS after the stream ends
      --httpflv_addr string   HTTP-FLV server listen address (default ":7001")
      --level string          Log level (default "info")
      --read_timeout int      read time out (default 10)
      --rtmp_addr string      RTMP server listen address

Use with flv.js

Interested in Golang? Please see Golang Chinese Learning Materials Summary

Repositórios relacionados
streamlink/streamlink

Streamlink is a CLI utility which pipes video streams from various services into a video player

PythonPyPIBSD 2-Clause "Simplified" Licensestreamlinkpython
streamlink.github.io
11.6k1.2k
owncast/owncast

Take control over your live stream video by running it yourself. Streaming + chat out of the box.

GoGo ModulesMIT Licensevideostreaming-video
owncast.online
11.4k1.2k
illuspas/Node-Media-Server

A Node.js implementation of RTMP/HTTP-FLV Media Server

JavaScriptnpmApache License 2.0nodejsflv
npmjs.com/package/node-media-server
6.2k1.5k
PanosK92/SpartanEngine

A game engine with a fully bindless, GPU-driven renderer featuring real-time path-traced global illumination, hardware ray tracing, and a physics simulation running at 200Hz, built over 10+ years of R&D

C++MIT Licensegame-engineimgui
panoskarabelas.com
3.1k269
q191201771/lal

🔥 Golang audio/video live streaming lib/client/server. support RTMP, RTSP(RTP/RTCP), HLS, HTTP[S]/WebSocket-FLV/TS, GB28181, H264/H265/AAC/G711/OPUS, relay, cluster, record, HTTP Notify/API/UI. 直播

GoGo ModulesMIT Licensertmpaac
pengrl.com/lal
3k495
heshengtao/super-agent-party

⭐ All-in-one AI companion! Super Agent Party = Self hosted neuro sama + openclaw! ⭐ 全能AI伴侣!超级智能体派对 = 自托管neuro sama + openclaw!

JavaScriptnpmGNU Affero General Public License v3.0mcpcomfyui
agentparty.top
2.5k261
langhuihui/monibuca

🧩 Monibuca is a Modularized, Extensible framework for building Streaming Server

GoGo ModulesGNU Affero General Public License v3.0livestreammediaserver
monibuca.com
2.4k347
xqq/mpegts.js

HTML5 MPEG2-TS / FLV Stream Player

JavaScriptnpmApache License 2.0html5player
2.3k292
kaltura/nginx-vod-module

NGINX-based MP4 Repackager

CGNU Affero General Public License v3.0nginxvod
2.1k473
zerodytrash/TikTok-Live-Connector

Node.js library to receive live stream events (comments, gifts, etc.) in realtime from TikTok LIVE.

TypeScriptnpmGNU Affero General Public License v3.0tiktoktiktok-api
discord.gg/2c6kX6g3Pa
2.1k451
vzhd1701/gridplayer

Play videos side-by-side

PythonPyPIGNU General Public License v3.0video-playervlc
2k178
chen-zeong/DTV

抖音、b站、斗鱼、虎牙跨平台轻量化桌面客户端

TypeScriptnpmMIT Licensedouyindouyu
1.9k71