21 Open-source and Free Self-hosted Video CMS Publishing and Streaming Solutions
In this post, we offer you a list of video CMS publishing and self-hosted video streaming solutions.
All these are projects are free and open-source, some of them are ready to install and run as similar YouTube-alike websites, others are built to provide video streaming solutions.
1- MediaCMS
Media CMS is an open-source content management system (CMS) designed specifically for managing media assets such as images, videos, and audio files.
It provides a centralized platform for organizing, storing, and distributing media content. The GitHub repository contains the source code and documentation for the Media CMS project.
2- Tubeak
Tubeak is a free and open-source Live Streaming & Video Sharing Platform. It features a responsive rich dashboard for admins, moderators and users, video editing studio, comments, reports, and allows users to upload Full HD, and 4k videos.
3- Video CMS
Video CMS is an open-source JavaScript based Video CMS - Serverless - AWS Elemental.
4- AVideo
AVideo is an open-source web platform for publishing and streaming videos. With it, you can create your own similar sites like YouTube. It includes a built-in video encoder, streamer, and more.
5- PHPVibe
PHPVibe is a comprehensive video sharing CMS that surpasses expectations by not only providing a platform for sharing videos but also by offering additional features such as image sharing and the ability to share music in various formats including MP3 and SoundCloud.
With PHPVibe, users can enjoy a diverse range of content sharing options, making it the ultimate choice for those seeking a versatile and dynamic platform for sharing multimedia content.
6- Video Sharing CMS
This is a self-hosted open-source modern video sharing platform.
7- Klopix Video Sharing Platform
Klopix is currently an ongoing project. The app will be a video sharing platform with features such as video sharing, playlist creation, liking/disliking videos, and commenting.
The technologies used include NodeJS + Express for the backend, React + Hooks for the frontend, MongoDB + Mongoose for the database, JWT for token-based authentication, and Multer and Cloudinary for storing videos.
Future plans include adding a video recommendation system based on user data using machine learning and creating a unique and beautiful design.
8- VideoHub
VideoHub is a self-hosted video sharing platform. A rough client-server architecture replica of YouTube with Flask and MySQL.
9- Opencast
Opencast is a free and open-source platform designed to support the management of educational audio and video content.
With Opencast, institutions can create lecture recordings, organize and manage existing videos, distribute content through specific channels, and provide user interfaces to engage students with educational videos.
10- Open Broadcaster
An OBServer can manage multiple OBPlayers in a synchronized network or on a single device/VM. It has a flexible Plugin Module Architecture with various modules extending the core server application.
The server also has a documented API for sharing digital media assets and metadata securely.
11- wagtailvideos (Wagtail CMS)
This open-source project is built upon the functionality of wagtailimages. The primary objective of this project was to ensure that the features available for images in WagtailCMS are also available for HTML5 videos. In order to achieve this, the project focuses on achieving feature parity between images and videos.
One of the key features of this project is the ability to transcode videos into a codec that is compliant with HTML5 standards.
This transcoding functionality is accomplished through the use of ffmpeg, a powerful tool for manipulating multimedia files.
By incorporating this capability, the project aims to enhance the overall video experience within WagtailCMS and provide users with a seamless and consistent content management experience for both images and videos.
12- CumulusClips
CumulusClips is a highly versatile and powerful open source video content management platform that offers a wide range of features and capabilities. It is designed to accommodate the needs of various types of users, from individuals looking to create small video microsites to organizations and businesses aiming to develop large scale video websites.
With its intuitive interface and user-friendly tools, CumulusClips provides an easy and efficient way to manage and publish video content, making it an ideal choice for anyone seeking to establish a strong online presence through the use of engaging and dynamic videos.
OS Video Streaming Solutions
13- SRS
SRS/6.0 (Hang) is a simple, high-efficiency, and real-time video server, supporting RTMP/WebRTC/HLS/HTTP-FLV/SRT/MPEG-DASH/GB28181, Linux/Windows/macOS, X86_64/ARMv7/AARCH64/M1/RISCV/LOONGARCH/MIPS, and essential
14- hls.js
HLS.js is a JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback.
It works by transmuxing MPEG-2 Transport Stream and AAC/MP3 streams into ISO BMFF (MP4) fragments. Transmuxing is performed asynchronously using a Web Worker when available in the browser. HLS.js also supports HLS + fmp4, as announced during WWDC2016.
HLS.js works directly on top of a standard HTML element.
HLS.js is written in ECMAScript6 (.js) and TypeScript (.ts) (strongly typed superset of ES6), and transpiled in ECMAScript5 using Babel and the TypeScript compiler.
Features
- VOD & Live playlists
- DVR support on Live playlists
- Fragmented MP4 container
- MPEG-2 TS container
- ITU-T Rec. H.264 and ISO/IEC 14496-10 Elementary Stream
- ISO/IEC 13818-7 ADTS AAC Elementary Stream
- ISO/IEC 11172-3 / ISO/IEC 13818-3 (MPEG-1/2 Audio Layer III) Elementary Stream
- ATSC A/52 / AC-3 / Dolby Digital Elementary Stream
- Packetized metadata (ID3v2.3.0) Elementary Stream
- AAC container (audio only streams)
- MPEG Audio container (MPEG-1/2 Audio Layer III audio only streams)
- Timed Metadata for HTTP Live Streaming (ID3 format carried in MPEG-2 TS, Emsg in CMAF/Fragmented MP4, and DATERANGE playlist tags)
- AES-128 decryption
- SAMPLE-AES decryption (only supported if using MPEG-2 TS container)
- Encrypted media extensions (EME) support for DRM (digital rights management)
- FairPlay, PlayReady, Widevine CDMs with fmp4 segments
- Level capping based on HTMLMediaElement resolution, dropped-frames, and HDCP-Level
- CEA-608/708 captions
- WebVTT subtitles
- Alternate Audio Track Rendition (Master Playlist with Alternative Audio) for VoD and Live playlists
- Adaptive streaming
- Manual & Auto Quality Switching
- 3 Quality Switching modes are available (controllable through API means)
- Instant switching (immediate quality switch at current video position)
- Smooth switching (quality switch for next loaded fragment)
- Bandwidth conservative switching (quality switch change for next loaded fragment, without flushing the buffer)
- In Auto-Quality mode, emergency switch down in case bandwidth is suddenly dropping to minimize buffering.
- 3 Quality Switching modes are available (controllable through API means)
- Manual & Auto Quality Switching
- Accurate Seeking on VoD & Live (not limited to fragment or keyframe boundary)
- Ability to seek in buffer and back buffer without redownloading segments
- Built-in Analytics
- All internal events can be monitored (Network Events, Video Events)
- Playback session metrics are also exposed
- Resilience to errors
- Retry mechanism embedded in the library
- Recovery actions can be triggered fix fatal media or network errors
- Redundant/Failover Playlists
- HLS Variable Substitution
15- STREAMA
STREAMA is an open-source free self-hosted streaming media server. It includes a player, a streamer and a rich admin panel.
16- Shaka Player
Shaka Player is an open-source JavaScript library for adaptive media. It plays adaptive media formats (such as DASH, HLS and MSS) in a browser, without using plugins or Flash. Instead, Shaka Player uses the open web standards MediaSource Extensions and Encrypted Media Extensions.
Shaka Player also supports offline storage and playback of media using IndexedDB. Content can be stored on any browser. Storage of licenses depends on browser support.
17- Restreamer (Streaming Server Solution)
The Restreamer is a complete streaming server solution for self-hosting. It has a visually appealing user interface and no ongoing license costs.
Upload your live stream to YouTube, Twitch, Facebook, Vimeo, or other streaming solutions like Wowza. Receive video data from OBS and publish it with the RTMP and SRT server.
Key Features
- Simplified User-Interface
- Easy wizard configuration
- Multiple audio/video inputs, outputs, protocols, and codecs
- ReStreaming to platforms such as YouTube-Live, to software such as Wowza Media Server, and others based on protocols such as RTMP, SRT, ...
- Option to mux a separate audio channel to the video
- Build-in VideoJS-Player for your Website
- Configurable publication website for streaming without player embedding
- Content license with Creative Commons
- HTTP/S- (HLS), RTMP/S- & SRT-Streaming Server
- Automatic Let's Encrypt HTTPS certification
- Viewer/Bandwidth Monitoring and limiting
- Raspberry Pi (MMAL/OMX), Nvidia Cuda, Intel VAAPI support
- Support for Hardware- and Virtual-Devices
- FFmpeg Video-Processing (as native as possible)
- REST-API (JSON) and 100% Swagger documented
- Resource Monitoring (optionally by Prom-Metrics)
- Server- and Process-Logging
- GDPR compliant without third-party providers and does not save audience data
Video Streaming Server
18- Gilfoyle
Gilfoyle is a web application from the Dreamvo project that runs a self-hosted media streaming server. Allowing you to easily implement media streaming in any application at any scale.
It's written in Golang, mostly designed for Kubernetes and runs as a single Linux binary with PostgreSQL and RabbitMQ.
Current 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 thumbnail & video preview generation
- Enjoy highly scalable & cloud-native architecture
Project status:
- Stopped
19- StreamingServer
This project is developed to create a plug-and-play video streaming server that allows you to access all the films, songs, and videos downloaded to your main computer. With this tool, you can store all your favorite media files on your PC and stream them from anywhere using an internet connection.
The server has a basic authentication system. One endpoint is used for user registration, while another handles the log-in phase.
There is also an endpoint dedicated to verifying user accounts. Before allowing an account to stream your resources, you need to confirm that the account is affiliated with someone you know.
20 Armadillo
Armadillo is an open source content sharing website that is the canonical version 2 of "bruh". The name was picked because I think armadillos are pretty cool looking.
21- livego
Livego is a free and open-source simple and efficient live broadcast server:
- Very simple to install and use;
- Pure Golang, high performance, and cross-platform;
- Supports commonly used transmission protocols, file formats, and encoding formats;
Supported transport protocols
- RTMP
- AMF
- HLS
- HTTP-FLV
Supported container formats
- FLV
- TS
Supported encoding formats
- H264
- AAC
- MP3