Giter Site home page Giter Site logo

schulcloud-bbb-recorder's Introduction

Schul-Cloud BigBlueButton Recorder

Export BigBlueButton recordings from the HPI Schul-Cloud to video.

architecture

BigBlueButton recordings are composed of different media streams – audio, webcams, screenshare, slides… – that need to be played in sync. To make it easier to archive a recorded web conference, this projects combines the captured media streams into a single video.

Getting started

  1. Clone this repository.
  2. Initialize Git submodules: git submodule update --init
  3. Install dependencies: npm install
  4. Run the linter: npm run lint or npm run lint -- --fix
  5. Run unit-tests: npm run test or npm run test -- --watch

Running

The easiest way to run this project is via Docker.

A Dockerfile is provided. Build an image by running:

docker build --tag schulcloud-bbb-recorder .

The service expects a few environment variables to be set. You can either specify these on the command-line when starting a container or load them from a file:

# Copy the provided example env file
cp .env.{example,local}

# Edit the file to match your setup
if [ -z "$VISUAL" ]; then $EDITOR .env.local; else echo $VISUAL .env.local; fi

# Then start a container from the image with your configuration
docker run --env-file .env.local schulcloud-bbb-recorder

# …or, set these values directly via the "run" command
docker run --env AMQP_URI=… schulcloud-bbb-recorder

For an example of how to get started with docker-compose, check out our docker-compose.example.yml.

docker-compose --file docker-compose.example.yml build
docker-compose --file docker-compose.example.yml up

Hints

Waiting on other services

The image includes the dockerize utility in case you have to wait for the message broker or upload endpoint to become available before starting to process jobs.

Manually trigger the service in development

If you have a BigBlueButton playback URL and you want to trigger the recorder service directly, check out script/send. It allows you to push properly encoded messages to the broker and should also give you an idea of how to use the recorder from other projects.

schulcloud-bbb-recorder's People

Contributors

pmeinhardt avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.