https://github.com/sporestudio/stream-server
Implementation of a system to automate the download and preparation of multimedia content from YouTube through a Telegram bot.
https://github.com/sporestudio/stream-server
ffmpeg icecast nginx python yt-dlp
Last synced: 2 months ago
JSON representation
Implementation of a system to automate the download and preparation of multimedia content from YouTube through a Telegram bot.
- Host: GitHub
- URL: https://github.com/sporestudio/stream-server
- Owner: sporestudio
- License: gpl-3.0
- Created: 2025-01-20T21:23:24.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-09T19:27:23.000Z (over 1 year ago)
- Last Synced: 2025-05-15T04:09:53.375Z (about 1 year ago)
- Topics: ffmpeg, icecast, nginx, python, yt-dlp
- Language: Python
- Homepage:
- Size: 12.1 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
Stream Server
Deployment of a system to automate the download and preparation of multimedia content from YouTube through a Telegram bot using Docker containers and Nginx.
## Features
- **Real-time HLS Transcoding** - Automatically converts videos to HLS format for efficient streaming.
- **Supports Multiple Input Formats** - Compatible with MP4, MKV, AVI, and more.
- **Low-Latency Streaming** - Optimized settings for fast loading times.
- **HLS Player Compatibility** - Works with VLC, HTML5 players, and mobile apps.
- **HTTPS Support** - SSL certificates for secure streaming.
## Requirements
- **Unix-based system**.
- **Docker** (20.10 or later recommended).
- **Docker Compose** (v1.29 or later recommended).
- **Python 3**.
## Documentation
To see documentation of the project you can [click here](https://github.com/sporestudio/stream-server/blob/main/docs/README.md) or see the docs/ directory.
## Previous configuration
We have to do some previous configurations to make the project work. First we have to create a .env file with some necessary variables:
```bash
## Telegram bot API Token
TELEGRAM_TOKEN=
# IONOS API Token
IONOS_TOKEN=
## Apache global vars
DOMAIN_NAME=
SERVER_ADMIN=
```
## Installation
### Clone the repository
Clone the repository from GitHub:
```bash
$ git clone https://github.com/sporestudio/stream-server
$ cd stream-server
```
### Deploy the project
#### Using makefile
- **Generating the certs**: We have the option to deploy the projects and generate the SSL certificates in an automated way with certbot.
```bash
$ make all
```
- **Without generate the certs**: We can deploy the project without generate the SSL certificates.
```bash
$ make deploy
```
#### Using docker compose
- We can deploy the project using Docker Compose launching the following command:
```bash
$ docker-compose up --build -d
```
## License
This project is licensed under the GNU General Public License - see the [LICENSE](https://github.com/sporestudio/stream-server/blob/main/LICENSE) file for details.
## Contributing
Want to contribute? There are multiple ways you can contribute to this project. Here are some ideas:
* [Translate the web into multiple languages!](/docs/CONTRIBUTING.md#translations)
* [Reporting Bugs](/docs/CONTRIBUTING.md#reporting-bugs)
* [Check out some issues](https://github.com/sporestudio/stream-server/issues) (or translate them).
## Author
This repository was created by [sporestudio](https://github.com/sporestudio).