1
0
Fork
You've already forked muxy
0
RTMP-based streaming muxer for online events
  • Python 84.7%
  • XSLT 14.2%
  • Dockerfile 0.6%
  • DIGITAL Command Language 0.5%
Damián Silvani 67ebaa0424
Merge pull request #37 from yaxu/main
Make start/end times unique
2024年12月14日 14:12:14 -03:00
.github Revert postgres migration back to sqlite3 2024年02月04日 08:30:57 -03:00
docker/nginx-rtmp Check every 10s if stream is still valid and disconnect publisher otherwise 2020年12月07日 18:16:34 -03:00
events migration 2024年12月14日 11:38:40 +00:00
muxy fix: Set SECURE_PROXY_SSL_HEADER to trust X-Forwarded-Proto header 2024年02月12日 08:45:16 -03:00
tools Add recordings to Stream serializer 2020年12月19日 22:11:59 -03:00
.gitignore chore: Git ignore muxy.db (default db name) 2024年02月05日 12:29:25 -03:00
docker-compose.yml fix: Change workdir to /app and simplify dockerfile 2024年02月04日 10:02:58 -03:00
Dockerfile fix: Change workdir to /app and simplify dockerfile 2024年02月04日 10:02:58 -03:00
env.sample fix: Change default rtmp servers in env.sample 2024年02月12日 16:38:02 -03:00
LICENSE chore: License software with AGPL 2024年02月03日 11:22:00 -03:00
manage.py Initial commit 2020年12月06日 12:50:54 -03:00
README.md Revert postgres migration back to sqlite3 2024年02月04日 08:30:57 -03:00
requirements.txt feat: Install ipython for improved shell 2024年02月11日 13:20:28 -03:00

muxy

Django CI

RTMP-based streaming muxer for online events

Allows user to organize online self-streaming events, where each user can stream herself to public channels or other streaming services.

Requirements

  • Postgres
  • Python
  • nginx-rtmp

Install

Docker

The easiest way to get everything running quickly is by using Docker Compose.

Run:

docker compose up 

This will build Muxy and start the server, while also serving Postgres database service and nginx-rtmp.

Manual

Clone repository or download zipfile and extract somewhere.

Create virtual environment and activate:

python -m venv .venv
source .venv/bin/activate

Install the dependencies:

pip install -r requirements.txt

Initial configuration

Copy env.sample to .env and update if necessary. You should set at least:

  • SECRET_KEY: Use a unique random string.
  • ALLOWED_HOSTS: Add your hostname.
  • CORS_ALLOWED_ORIGINS: Add your request origin.
  • LANGUAGE_CODE: Set default language code.
  • TIME_ZONE: Set server time zone if different than UTC.
  • DB_PATH: Set path where to save database file

Now, run migrations to create and prepare database:

./manage.py migrate

Then, create a super user to enter admin panel:

./manage.py createsuperuser

Finally, collect static files for admin panel:

./manage.py collectstatic

Usage

If you are using Docker, just use docker compose up

Otherwise, to run server locally, use:

./manage.py runserver

Deploy

Read the deployment wiki page.

License

This project is licensed under the GNU Affero General Public License v3.0. See the LICENSE file for details.