Skip to content

Videbo

Distributed video hosting for Moodle and other LMS


Documentation: https://innocampus.github.io/videbo

Source Code: https://github.com/innocampus/videbo


Videbo is a video hosting server specifically designed for Moodle and other learning management systems (LMS).

It exposes an intuitive API for uploading, downloading, and streaming videos, which can be accessed via Moodle mod_videoservice and similar plugins.

Videbo is written in Python, and it is powered by aiohttp, Pydantic, and PyJWT.

Key Features

  • Performant: Asynchronous HTTP server that can easily handle large request loads.
  • Reliable: Built-in distribution and load balancing capabilities. Dynamically enable/disable distributor nodes at any time.
  • Integrated: Designed to be compatible with mod_videoservice out of the box.
  • Well-tested: Used in production continuously since 2020 at the Technical University of Berlin (approx. 35k students) and during the peak of the remote-learning period.
  • Secure: Authentication via industry standard JSON Web Tokens.

Installation

Videbo is easily installed with pip like this:

pip install videbo

To install Videbo including all optional features:

pip install 'videbo[full]'

The latter includes monitoring capabilities for the Prometheus Node Exporter.

To install Videbo for development and/or testing from the checked-out code repository, run the following from the repository root:

pip install -e '.[dev]'

This will install it in editable mode and also install all dev-dependencies.

System dependencies

  • Linux
  • Python 3.9+
  • sudo
  • ffmpeg/ffprobe