gilfoyle

Gilfoyle is a web application from the Dreamvo project that runs a self-hosted video streaming server. This application allows you to setup an enterprise-grade media encoding & streaming platform in minutes. Gilfoyle handles media upload, processing and streaming.
It's written in Golang, designed for Kubernetes and runs as a single Linux binary with PostgreSQL and RabbitMQ.
Table of content
Features
- Deploy a RESTful API and HLS server to manage and stream audio & video
- Handle media compression and encoding with FFmpeg
- Customize media renditions
- Monitoring: Prometheus exported metrics, embedded Web UI
- Media attachments: attach files such as captions or images to medias
- Enjoy highly scalable & cloud-native architecture
What's next ?
- Media asset generation (thumbnail, video preview...)
- More supported formats (e.g: 360° videos, 60fps...)
- Multi stream support (e.g: one audio stream per language)
- Authentication and delegated upload
- Live streaming
- IPFS support
- Encryption support
Current status
It's a Work In Progress. As this project is very recent, it's under heavy development and not suitable for production yet. Please consider v0 as unstable. Want to contribute ? Check the backlog.
Design
See this document for a high level design and goals.
Roadmap
Phase 1 (v0.1 - current)
This first phase aim to build a first working version of this software with a minimum of test coverage and bug fixes. The first working version is v0.1.0 whose roadmap is available here.
Phase 2 (v0.x)
This second phase is about getting more contributors, feedbacks, bug fixes and more tests. Feedbacks and tests should make us able to create a roadmap for the first stable release (v1).
Phase 3 (v1)
This third phase should allow us to make the program more stable and welcoming to new users. Stability will make us able to launch donation goals in order to continue improve the OSS project and build a SaaS product.
Documentation
Contributing
This project is in an early stage. We appreciate feedbacks and discussions about the design and features.
Discussion