返回排行榜

gwuhaolin/livego

Go

live video streaming server in golang

livestreamgolangvideoflvflashrtmphlsh264
Star 增长趋势
Star
10.2k
Forks
2k
周增长
Issues
136
5k10k
2017年6月2020年6月2023年7月2026年7月
制品库Go 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

相关仓库
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