jakobkukla / TUM-Live

TUMs lecture streaming service.

Home Page:https://live.rbg.tum.de/

Repository from Github https://github.comjakobkukla/TUM-LiveRepository from Github https://github.comjakobkukla/TUM-Live

volkswagen status Better Uptime Badge

TUMs lecture streaming service, in beta since summer semester 2021. Currently serving 12 courses with up to 1500 active students.

Features include:

  • Automatic lecture scheduling and access management coupled with CAMPUSOnline
  • Livestreaming from lecture halls
    • Support for Extron SMPs and automatic backup recordings on them.
    • Support for preset management on ip cameras
    • Automatic recordings and video on demand with granular access control.
  • Self-streaming
    • Stream ingest from Home using OBS or similar software.
  • Live chat
  • Statistics (live and VoD view count)
  • Self-service dashboard for lecturers
    • schedule streams, manage access...

Architecture:

Architecture

Development

Developing on this locally is a pain (because there are a few secrets involved). There is a dockerfile/docker-compose.yml. I don't guarantee that it works because we can't currently use it in production. To get this running locally follow these steps:

Setup IPs

In /etc/hosts add this:

127.0.0.1  db

Setup Database

  • get mariadb from your favourite package manager or docker (I recommend this option)
  • docker run --name mariadb -e MYSQL_ROOT_PASSWORD=example -p 3306:3306 -d mariadb:latest
  • create the database tumlive

Get go running locally

  • Install go1.17
  • Preferably use Jetbrains GoLand and open this project
  • Edit Configuration > Environment
    • Add environment variables from variables-backend.example.env.
  • Start the app
  • Head over to localhost:8081
  • Happy coding! ✨

Credit & Licenses

About

TUMs lecture streaming service.

https://live.rbg.tum.de/

License:MIT License


Languages

Language:Go 74.1%Language:TypeScript 17.1%Language:CSS 7.4%Language:JavaScript 0.6%Language:Shell 0.4%Language:Dockerfile 0.3%Language:Makefile 0.1%