https://github.com/majdsassi/go-video-streaming
A high-performance HTTP Live Streaming (HLS) server written in Go, designed for secure and efficient delivery of segmented video content.
https://github.com/majdsassi/go-video-streaming
gin go golang hls hls-live-streaming hls-server hls-stream m3u8 media-server streaming-server streaming-video ts vod
Last synced: about 1 month ago
JSON representation
A high-performance HTTP Live Streaming (HLS) server written in Go, designed for secure and efficient delivery of segmented video content.
- Host: GitHub
- URL: https://github.com/majdsassi/go-video-streaming
- Owner: majdsassi
- Created: 2025-06-16T15:43:12.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-16T16:08:52.000Z (12 months ago)
- Last Synced: 2025-06-16T16:58:32.124Z (12 months ago)
- Topics: gin, go, golang, hls, hls-live-streaming, hls-server, hls-stream, m3u8, media-server, streaming-server, streaming-video, ts, vod
- Language: Go
- Homepage: http://stream.programmation.tn/
- Size: 48.8 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Go Video Streaming - Lightweight HLS Streaming Server



A high-performance HTTP Live Streaming (HLS) server written in Go, designed for secure and efficient delivery of segmented video content.
## Features
- 🚀 **Fast Media Delivery**: Built with Go and Gin for high-throughput streaming
- 🔒 **Security-First**: Protects against path traversal attacks with strict file access controls
- 📁 **Simple Setup**: Just point to your HLS directory (`m3u8` playlists + `ts` segments)
- 🛡️ **Auto-Error Handling**: Custom 403/404 pages for forbidden/missing content
- 🌐 **Web Interface**: Optional homepage template for status/instructions
## Use Cases
- Private video streaming platforms
- Low-latency live event broadcasting
- Secure internal media distribution
- Development/testing for HLS applications
## Quick Start
```bash
# Clone repository
git clone https://github.com/majdsassi/Go-Video-Streaming.git
cd Go-Video-Streaming
# Create videos directory (or mount your existing HLS content)
mkdir -p videos/stream1
# Add HLS files (e.g., videos/stream1/master.m3u8 + segments)
# Run server (default port :8080)
go run main.go