gilfoyle

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 18, 2021 License: GPL-3.0 Imports: 7 Imported by: 0

README

gilfoyle godoc build goreport Coverage Status release

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Config config.Config
)

Functions

func NewConfig

func NewConfig(files ...string) (*config.Config, error)

NewConfig creates a new config object and load values from environment variables or config file. File paths can be both relative and absolute.

func NewStorage

func NewStorage(driver config.StorageDriver) (storage.Storage, error)

NewStorage creates a new storage instance

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL