Website • Discord • Linkedin • Twitter • Reddit • Roadmap • Community
Distributed Scalable Video Transcoding Cluster with Hardware Acceleration for Universal Playback - An affordable on-premise or self-hosted alternative to cloud transcoders like Amazon Elastic Transcoder, Google Transcoder API, Wowza, and Azure Media Services.
The Rasboa philosophy is built on the idea of components, meaning that each part of the system can operate independently or be combined with a few others.
Name | Status | Responsibility | Edition |
---|---|---|---|
VideoTranscoding | ✅ Ready | Encode/decode and transcode video files. | Community |
TaskManagement | ✅ Ready | Receive and manage tasks through the API protocol. | Community |
CallbackManager | ✅ Ready | Manage callbacks when tasks are ready or encounter issues. | Community |
SystemRadar | ✅ Ready | Monitor and collect system status information. | Community |
HouseKeeper | ⬜️ In Progress | Work as a supervisor to ensure tasks in the transcoder do not stack indefinitely, addressing issues in case of errors. | Enterprise |
Dashboard | ⬜️ In Progress | Centralized control panel to manage or monitoring Rasbora cluster. | Enterprise |
SafeGuard | ⬜️ In Progress | Offers protection on all Rasbora systems, with alerts for abuse, authentication, permissions, and authorization. | Enterprise |
CrashReporter | ⬜️ In Progress | Reporting crash details and performance alerts in the event of system crashes. | Enterprise |
Currently, we are focused on developing support for various encode/decode strategies tailored to different workload needs:
Name | Status | Strategy | Edition |
---|---|---|---|
A-Z/V | ✅ Ready | Processes a single video file, decoding and encoding the entire file to produce multiple quality versions. | Community |
S-C/V | ⬜️ In Progress | Divides video files into small chunks; multiple instances of VideoTranscoding work on different chunks, later reassembling them into one video file with multiple qualities. | Enterprise |
F-F/V | ⬜️ In Progress | Analyzes video files and generates frames; each VideoTranscoding instance works on frames, later reassembling them into a video file with multiple qualities. | Enterprise |
Here is what you need to be able to run Rasbora.
Git (Version: >=2.x.x)
Docker Compose (Version: >=2.24.x)
Docker (Version: >=25.x.x)
Method | Type | Status | Docs |
---|---|---|---|
Standalone (Build From Source) | Self-Hosted | ⬜️ In Progress | |
Standalone (Docker Compose) | Self-Hosted | ✅ Ready | Deploy Rasbora Standalone Using Docker Compose |
Distributed Cluster Bare Metal | Self-Hosted | ⬜️ In Progress | |
Kubernetes Cluster | Self-Hosted | ⬜️ In Progress | |
AWS | EC2 | ⬜️ In Progress | |
Hetnzer | Bare Metal Server | ⬜️ In Progress | |
OVHCloud | Bare Metal Server | ⬜️ In Progress | |
Azure | VM | ⬜️ In Progress | |
Digitalocean | Droplets | ⬜️ In Progress |
The supported storage systems and their current status:
Method | Type | Supported | Status |
---|---|---|---|
SSD/HHD | LocalStorage | ✅ Yes | ✅ Done |
S3/Ceph | ObjectStorage | ✅ Yes | ✅ Done |
Gluster | Network | ⬜️ In Progress | ⬜️ In Progress |
FreeNAS | Network | ⬜️ In Progress | ⬜️ In Progress |
The video transcoder engines that are currently supported:
Engine | Supported | Status |
---|---|---|
ffmpeg | ✅ Yes | ✅ Done |
gstreamer | ⬜️ In Progress | ⬜️ In Progress |
Rasbora's will support in future many hardware acceleration options:
Hardware | Engine | Encoder/Decoder | Supported | Image | Handler | Status | Docs |
---|---|---|---|---|---|---|---|
CPU/x86-64 | ffmpeg | Software | ✅ Yes | jrottenberg/ffmpeg:4.4-alpine | src/videotranscoder/handlers/default.handler | ✅ Done | |
CPU/ARM64 | ffmpeg | ⬜️ In Progress | ⬜️ In Progress | ⬜️ In Progress | ⬜️In Progress | ||
GPU/Apple Silicon | ffmpeg | ⬜️ In Progress | ⬜️ In Progress | ⬜️ In Progress | ⬜️In Progress | ||
GPU/Nvidia RTX 4000 SFF ADA | ffmpeg | CUDA/NVENC | ⬜️ In Progress | ⬜️ In Progress | ⬜️ In Progress | ⬜️ In Progress | |
GPU/AMD | ffmpeg | ⬜️ In Progress | ⬜️ In Progress | ⬜️ In Progress | ⬜️ In Progress |
Communicate seamlessly with Rasbora through RESTful APIs and explore upcoming gRPC and Websocket integrations:
Note: To access the Swagger documentation, ensure that Rasbora is running, if you change the port of Task Manager component adjust the documentation URL accordingly.
Current supported callback methods and their current status:
Protocol | Supported | Type | Status |
---|---|---|---|
HTTP/1.1 | ✅ Yes | application/json | ✅ Done |
gRPC | ⬜️ In Progress | application/protobuf | ⬜️ In Progress |
Websocket | ⬜️ In Progress | application/json | ⬜️ In Progress |
The supported queue/database systems and their current status:
Engine | Supported | Status |
---|---|---|
Redis | ✅ Yes | ✅ Done |
RabbitMQ | ⬜️ In Progress | ⬜️ In Progress |
ActiveMQ | ⬜️ In Progress | ⬜️ In Progress |
Amazon SQS | ⬜️ In Progress | ⬜️ In Progress |
Manage and analyze your logs with Rasbora, we will supporting various log collectors such as Logstash, Grafana Loki, and more:
Engine | Supported | Status |
---|---|---|
STDOUT | ✅ Yes | ✅ Done |
Log Files | ✅ Yes | ✅ Done |
Database | ✅ Yes | ✅ Done |
Logstash | ⬜️In Progress | ⬜️ In Progress |
Grafana Loki | ⬜️ In Progress | ⬜️ In Progress |
Logwatch | ⬜️ In Progress | ⬜️ In Progress |
The current supported crash methods and their status:
Method | Supported | Status |
---|---|---|
Sentry | ⬜️ In Progress | ⬜️ In Progress |
Datadog | ⬜️ In Progress | ⬜️ In Progress |
The supported monitoring methods and their current status:
Method | Supported | Status |
---|---|---|
Redis/Streams | ✅ Yes | ✅ Done |
Grafana | ⬜️ In Progress | ⬜️ In Progress |
Prometheus | ⬜️ In Progress | ⬜️ In Progress |
We offer different types of support depending on the project size. You can choose the level of support that suits your expertise and requirements:
Type | Limitations | Methods | Status |
---|---|---|---|
Community Edition | No limits on CE-components | Github Issues, Community Forum, Reddit, Discord | ✅ Ready |
Enterprise Edition | CE-components & EE-components | Calls, Email, Chat, Panic Button, Direct 1-to-1 Engineer | ⬜️ In Progress |
To request support for the Enterprise Edition, please contact us at [email protected]
⬜️ Full Testing Coverage
⬜️ Start Community Forum
⬜️ Q/A Documentation Site
Kindly ensure to review our license page at https://rasbora.openseawave.com/license as well.
Copyright (c) 2023-2024 https://rasbora.openseawave.com This file is part of Rasbora Distributed Video Transcoding This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.