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