Streamlink Server

A powerful streaming proxy server that handles various stream types through Streamlink with authentication support

Overview

This server provides a secure way to proxy and convert video streams using Streamlink. It supports various streaming protocols and includes features for custom headers, proxy support, and authentication.

Key Features

  • Stream conversion using Streamlink
  • Authentication protection for all endpoints
  • Support for custom HTTP headers
  • Proxy server support
  • Channel configuration via JSON
  • Docker and Docker Compose support
  • RESTful API endpoints
  • Real-time stream monitoring and recovery
  • Support for MPEG-TS output format

Requirements

  • Python 3.11 or newer
  • FFmpeg
  • Streamlink 6.5.0 or newer
  • FastAPI 0.109.0+
  • uvicorn 0.27.0+
  • python-multipart 0.0.9+
  • python-dotenv 1.0.0
  • typing-extensions 4.9.0+

API Endpoints

Stream Endpoints

GET /stream/{channel_id} - Stream a channel by ID
GET /stream/url - Stream from a custom URL with query parameters

Utility Endpoints

GET /utils/channels - List all available channels
POST /utils/generate_url - Generate encoded streaming URLs

Installation Methods

Standard Installation

git clone https://git.fiorinis.com/Home/streamlink-server.git
 cd streamlink-server
 pip install -r src/requirements.txt

Docker Installation

docker-compose up -d

Hugging Face Spaces

Use the provided Dockerfile_HF for deployment on Hugging Face Spaces with:

  • Optimized container size
  • Pre-configured environment for Spaces
  • Automatic HTTPS handling
  • Integration with Hugging Face's monitoring

Documentation

For detailed API documentation and interactive testing, visit the Swagger UI.

For the OpenAPI specification, visit OpenAPI JSON.