# gwuhaolin/livego

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gwuhaolin-livego).**

10,179 stars · 2,023 forks · Go · MIT

## Links

- GitHub: https://github.com/gwuhaolin/livego
- awesome-repositories: https://awesome-repositories.com/repository/gwuhaolin-livego.md

## Topics

`flash` `flv` `golang` `h264` `hls` `livestream` `rtmp` `video`

## Description

livego is a live streaming server written in Go that receives live video streams and broadcasts them to viewers in real time. It functions as a multi-protocol video gateway, serving as a backend for ingesting video and redistributing it through RTMP, HLS, and HTTP-FLV protocols.

The server features dynamic protocol transmuxing to convert ingested streams into different formats for device compatibility and low-latency playback. It provides secure stream access and ingestion by validating unique channel keys and using security tokens.

The system includes capabilities for encrypted stream delivery via SSL certificates and external memory store persistence to manage session state and room keys. Administrative functions are handled through a dedicated operations port and a centralized configuration system, while programmatic control is available via a live stream management API.

## Tags

### Graphics & Multimedia

- [Live Video Broadcasting](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/broadcasting-streaming/live-video-broadcasting.md) — Ingests live video feeds and broadcasts them to multiple viewers in real time.
- [Live Streaming Servers](https://awesome-repositories.com/f/graphics-multimedia/live-streaming-servers.md) — A Go-based server designed to receive live video streams and broadcast them to viewers in real time.
- [Low-Latency Video Streaming](https://awesome-repositories.com/f/graphics-multimedia/low-latency-video-streaming.md) — Provides low-latency video delivery using HTTP-FLV to minimize the delay between broadcaster and viewer.
- [HTTP-FLV Delivery](https://awesome-repositories.com/f/graphics-multimedia/low-latency-video-streaming/http-flv-delivery.md) — Provides low-latency video delivery by streaming content over HTTP using the FLV format. ([source](https://github.com/gwuhaolin/livego/blob/master/Dockerfile))
- [Multi-Protocol Streaming Delivery](https://awesome-repositories.com/f/graphics-multimedia/multi-protocol-streaming-delivery.md) — Distributes live video feeds through multiple protocols including RTMP, HLS, and HTTP-FLV to ensure wide device compatibility. ([source](https://github.com/gwuhaolin/livego#readme))
- [Real-Time Transmuxing](https://awesome-repositories.com/f/graphics-multimedia/real-time-transmuxing.md) — Converts ingested video streams into HLS and HTTP-FLV formats in real time for broad client compatibility.
- [HLS Streaming](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming/video-streaming/hls-streaming.md) — Delivers live video streams through HTTP Live Streaming to ensure compatibility across mobile and web players.
- [HLS Delivery Servers](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming/video-streaming/hls-streaming/hls-delivery-servers.md) — Delivers live video content using HTTP Live Streaming for broad device and player compatibility.
- [Video Streaming Servers](https://awesome-repositories.com/f/graphics-multimedia/video-streaming-servers.md) — Provides a backend system for ingesting high-speed live video via RTMP for wide distribution.
- [Management APIs](https://awesome-repositories.com/f/graphics-multimedia/live-streaming-servers/management-apis.md) — Provides a dedicated API for programmatic control and real-time tracking of live stream activities. ([source](https://github.com/gwuhaolin/livego/blob/master/livego.yaml))
- [Secure Delivery](https://awesome-repositories.com/f/graphics-multimedia/streaming-distribution/streaming-broadcasting/media-streaming/video-streaming/hls-streaming/ll-hls-origin-servers/secure-delivery.md) — Secures HLS video playback by encrypting the connection between the server and the client with certificates. ([source](https://github.com/gwuhaolin/livego/blob/master/README.md))
- [Secure Ingestion](https://awesome-repositories.com/f/graphics-multimedia/video-ingestion-interfaces/secure-ingestion.md) — Protects the streaming backend by validating unique channel keys and security tokens during video ingestion. ([source](https://github.com/gwuhaolin/livego#readme))

### Networking & Communication

- [Multi-Protocol Network Gateways](https://awesome-repositories.com/f/networking-communication/multi-protocol-network-gateways.md) — Functions as a gateway that receives a single live video feed and redistributes it across multiple protocols.
- [Video Stream Ingestion](https://awesome-repositories.com/f/networking-communication/stream-multiplexers/multi-protocol-real-time-multiplexing/video-stream-ingestion.md) — Accepts incoming video data via RTMP and other standards to prepare it for real-time distribution.
- [RTMP Protocol Support](https://awesome-repositories.com/f/networking-communication/transport-bridges/protocol-bridges/rtmp-protocol-support.md) — Implements the RTMP protocol to receive high-speed video uploads and distribute them to audiences.

### Security & Cryptography

- [Stream Access Tokens](https://awesome-repositories.com/f/security-cryptography/cookie-security/token-based-access-restrictions/stream-access-tokens.md) — Verifies unique channel keys and security tokens to prevent unauthorized video ingestion or playback.
- [Stream Access Passwords](https://awesome-repositories.com/f/security-cryptography/stream-access-passwords.md) — Protects live video feeds by validating security tokens and channel keys.
- [JWT Format Tokens](https://awesome-repositories.com/f/security-cryptography/access-tokens/jwt-format-tokens.md) — Uses JSON Web Tokens (JWT) to verify authorization for users pushing or accessing video streams. ([source](https://github.com/gwuhaolin/livego/blob/master/CHANGELOG.md))
- [Room Key Persistence](https://awesome-repositories.com/f/security-cryptography/identity-access-management/session-management/stateful-session-persistence/external-database-persistence/room-key-persistence.md) — Integrates with external memory stores to manage and persist room keys across server restarts. ([source](https://github.com/gwuhaolin/livego/blob/master/CHANGELOG.md))
- [Transport Layer Encryption](https://awesome-repositories.com/f/security-cryptography/privacy-data-protection/data-encryption/end-to-end-encryption/media-encryption/stream-segment-encryption/transport-layer-encryption.md) — Provides SSL certificate support to encrypt the traffic between the server and viewers during playback. ([source](https://github.com/gwuhaolin/livego#readme))
- [TLS Traffic Encryption](https://awesome-repositories.com/f/security-cryptography/tls-traffic-encryption.md) — Secures video playback and ingestion traffic using SSL/TLS certificates for encrypted connections.

### Web Development

- [HTTP-FLV Streaming Servers](https://awesome-repositories.com/f/web-development/http-servers/http-flv-streaming-servers.md) — Transmits live video over HTTP using the FLV format to achieve low-latency playback.

### Data & Databases

- [Standard Input Ingestion](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-ingestion-pipelines/standard-input-ingestion.md) — Supports the ingestion of incoming video streams via standard protocols to prepare them for redistribution. ([source](https://github.com/gwuhaolin/livego/blob/master/livego.yaml))
- [External State Stores](https://awesome-repositories.com/f/data-databases/external-state-stores.md) — Uses an external memory store to persist room keys and session state across server restarts.

### Software Engineering & Architecture

- [Centralized Configuration Systems](https://awesome-repositories.com/f/software-engineering-architecture/centralized-configuration-systems.md) — Implements a centralized configuration system for managing server behavior, security, and protocol settings. ([source](https://github.com/gwuhaolin/livego/blob/master/livego.yaml))

### Part of an Awesome List

- [Social Platforms](https://awesome-repositories.com/f/awesome-lists/media/social-platforms.md) — Go-based server for live video streaming.
