A lightweight real-time streaming platform built with Go that seamlessly handles live videos
by converting RTMP input streams from encoders like OBS Studio to adaptive HLS output streams
for smooth web playback across all modern browsers and mobile devices.
- RTMP to HLS conversion
- JWT authentication
- Web interface for streaming
- RESTful API
- Cross-platform browser support
- Go 1.21+ - Backend server
- RTMP - Stream ingestion
- HLS - Web delivery
- JWT - Authentication
- Chi Router - HTTP routing
- Clone and setup
git clone https://github.com/YacineMK/Rill.git
cd Rill
go mod tidy- Configure
cp config.example.yaml config.local.yaml
# Edit config.local.yaml with your ports and JWT secret- Run
go run cmd/server/main.go- Use
- Web UI:
http://localhost:8080/static - RTMP:
rtmp://localhost:1935
OBS Studio → RTMP → Rill Server → HLS → Web Browser
- Generate stream key in web interface
- Configure OBS with RTMP URL and token
- Start streaming
- Watch in browser using stream ID
