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.

Create your own YouTube alike website with MediaCMS
If you are a freelance photographer, agency, or professional who has and wants to showcase his multimedia work, like photos, and videos, most likely you have several profiles here and there. There are various solutions to achieve that, but they don’t close to something like YouTube. But, what if I
GitHub - mediacms-io/mediacms: MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API.
MediaCMS is a modern, fully featured open source video and media CMS, written in Python/Django and React, featuring a REST API. - GitHub - mediacms-io/mediacms: MediaCMS is a modern, fully featured…

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.

GitHub - soyvillareal/Tubeak: Live Streaming & Video Sharing Platform
Live Streaming & Video Sharing Platform. Contribute to soyvillareal/Tubeak development by creating an account on GitHub.

3- Video CMS

Video CMS is an open-source JavaScript based Video CMS - Serverless - AWS Elemental.

GitHub - rgfindl/video-cms: Open Source Video CMS
Open Source Video CMS. Contribute to rgfindl/video-cms development by creating an account on GitHub.

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.

GitHub - WWBN/AVideo: Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP
Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP - GitHub - WWBN/AVideo: Create Your Own Broadcast Network With AVideo Platform Open-Source. OAVP OVP

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.

GitHub - PHPVibe/PHPVibe-CMS: PHPVibe - Video Sharing CMS
PHPVibe - Video Sharing CMS. Contribute to PHPVibe/PHPVibe-CMS development by creating an account on GitHub.

6- Video Sharing CMS

This is a self-hosted open-source modern video sharing platform.

GitHub - Silinator/wedeo.me: A modern videosharing platform.
A modern videosharing platform. Contribute to Silinator/wedeo.me development by creating an account on GitHub.

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.

GitHub - RiatTahiri/Klopix: Video Sharing Platform
Video Sharing Platform. Contribute to RiatTahiri/Klopix development by creating an account on GitHub.

8- VideoHub

VideoHub is a self-hosted video sharing platform. A rough client-server architecture replica of YouTube with Flask and MySQL.

GitHub - sharadbhat/VideoHub: A rough replica of YouTube with Flask and MySQL
A rough replica of YouTube with Flask and MySQL. Contribute to sharadbhat/VideoHub development by creating an account on GitHub.

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.

GitHub - opencast/opencast: The free and open source solution for automated video capture and distribution at scale.
The free and open source solution for automated video capture and distribution at scale. - GitHub - opencast/opencast: The free and open source solution for automated video capture and distribution…
Opencast
The free and open source solution for automated video capture and distribution at scale.

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.

GitHub - openbroadcaster/observer: OBServer Automation, Scheduler, Media Library and Player Manager
:radio: OBServer Automation, Scheduler, Media Library and Player Manager - GitHub - openbroadcaster/observer: OBServer Automation, Scheduler, Media Library and Player Manager

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.

GitHub - neon-jungle/wagtail-videos: Videos for Wagtail CMS, including transcoding
Videos for Wagtail CMS, including transcoding. Contribute to neon-jungle/wagtail-videos development by creating an account on GitHub.

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.

GitHub - cumulusclips/cumulusclips: CumulusClips Open Source Video CMS
CumulusClips Open Source Video CMS. Contribute to cumulusclips/cumulusclips development by creating an account on GitHub.

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

GitHub - ossrs/srs: SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181.
SRS is a simple, high-efficiency, real-time video server supporting RTMP, WebRTC, HLS, HTTP-FLV, SRT, MPEG-DASH, and GB28181. - GitHub - ossrs/srs: SRS is a simple, high-efficiency, real-time video…

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.
  • 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
GitHub - video-dev/hls.js: HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.
HLS.js is a JavaScript library that plays HLS in browsers with support for MSE. - GitHub - video-dev/hls.js: HLS.js is a JavaScript library that plays HLS in browsers with support for MSE.

15- STREAMA

STREAMA is an open-source free self-hosted streaming media server. It includes a player, a streamer and a rich admin panel.

GitHub - streamaserver/streama: Self hosted streaming media server. https://docs.streama-project.com/
Self hosted streaming media server. https://docs.streama-project.com/ - GitHub - streamaserver/streama: Self hosted streaming media server. https://docs.streama-project.com/

16- Shaka Player

Shaka Player is an open-source JavaScript library for adaptive media. It plays adaptive media formats (such as DASHHLS 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.

GitHub - shaka-project/shaka-player: JavaScript player library / DASH & HLS client / MSE-EME player
JavaScript player library / DASH & HLS client / MSE-EME player - GitHub - shaka-project/shaka-player: JavaScript player library / DASH & HLS client / MSE-EME player

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
GitHub - datarhei/restreamer: 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.
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, Faceboo…

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
GitHub - dreamvo/gilfoyle: Distributed video encoding, hosting and streaming
Distributed video encoding, hosting and streaming. Contribute to dreamvo/gilfoyle development by creating an account on GitHub.

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.

GitHub - alessiosavi/StreamingServer: A simple video streaming services with authentication using redis
A simple video streaming services with authentication using redis - GitHub - alessiosavi/StreamingServer: A simple video streaming services with authentication using redis

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.

GitHub - ffamilyfriendly/Armadillo: Modular private streaming service with secure user accounts and metadata handling. Easy to set up and easy to mod :listOnSite:
Modular private streaming service with secure user accounts and metadata handling. Easy to set up and easy to mod :listOnSite: - GitHub - ffamilyfriendly/Armadillo: Modular private streaming servic…

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
GitHub - gwuhaolin/livego: live video streaming server in golang
live video streaming server in golang. Contribute to gwuhaolin/livego development by creating an account on GitHub.


The best 15 open source open-source Video CMS YouTube alternatives
In the past few years, YouTube has upset many content creators and users, YouTube banning certain content creators or banning certain users, and it has In this article, we want to show you the top YouTube alternatives. 1- PuMuKIT PuMuKIT is an open-source video tool designed for an organization w…
12 Open-source Free Self-hosted Live-streaming Platforms and Apps
Live-streaming is a way to broadcast live video and audio in real-time over the internet. It’s a popular way to share events, performances, and other live content with people who can’t be there in person. With the growth of the internet and the increasing availability of high-speed connections, live…