Multi-Channel streaming setup
Find a file
2025-02-06 14:00:42 +00:00
config Define the rec command 2025-02-06 01:18:13 +00:00
src Remove the rechead from the api 2025-02-06 14:00:42 +00:00
.gitignore setup icecast server 2024-06-28 23:01:28 +00:00
docker-compose.yml Resolve the circular dependance between the services 2025-02-06 13:08:22 +00:00
init.sh Provide example ffmpeg commands for splitting a file to hls vod 2025-02-04 17:56:05 +00:00
LICENSE Initial commit 2023-12-31 03:33:27 +02:00
README.md update docs 2025-01-29 17:11:08 +00:00
variables.env.dist update the variables.env.dist file 2025-01-29 13:29:53 +00:00

Television

Multi channel stream setup with Flask REST API for scheduling channels.

Install

  1. cp variables.env.dist variables.env and set the required variables

  2. Start the acme-sh service: docker-compose up -d acme-sh

  3. Register acme account: source variables.env; docker exec acme.sh --register-account -m $EMAIL

  4. Set the ACCOUNT_THUMBPRINT variable

  5. Run the stack using docker-compose up -d --build --remove-orphans

  6. Issue a certificate: source variables.env; docker exec acme.sh --issue -d $BASE_URL -d $CORE_API_HOSTNAME --stateless

  7. Install the certificate: source variables.env; docker exec acme.sh --install-cert -d $BASE_URL --reloadcmd "cat \$CERT_KEY_PATH \$CERT_FULLCHAIN_PATH > /certificates/$BASE_URL.pem"

  8. Reastart haproxy container: docker kill -s USR2 haproxy

  9. Set crontab: 0 0 1 * * docker exec acme.sh --cron && docker kill -s USR2 haproxy

Usage

  1. Access the admin panel at https://stream.example.com/ui
  2. Access the recordings gallery at https://tv.example.com/gallery

EPG stream priorities

  • prio = 0 - scheduled
  • prio = 1 - live
  • prio = 2 - live and vod recording