Looking for self hosted screen sharing/streaming solution

This page summarizes the projects mentioned and recommended in the original post on /r/selfhosted

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • obsninja

    VDO.Ninja is a powerful tool that lets you bring remote video feeds into OBS or other studio software via WebRTC.

  • Can be self hosted but very open-source already: https://vdo.ninja also see /r/vdoninja

  • OvenPlayer

    OvenPlayer is JavaScript-based LLHLS and WebRTC Player for OvenMediaEngine.

  • My solution is cobbled together from OvenMediaEngine and OvenPlayer, which gives me about 250ms of latency when streaming. I have the whole thing behind a reverse proxy that uses Discord for forward auth, and then I have a list of discord user names that are allowed in. Streaming is controlled by a normal stream key rather than OAuth. It's very "batteries not included" though.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • server

    screen sharing for developers https://screego.net/ (by screego)

  • hls-server

    Middleware for serving HTTP Live Streaming (HLS) compatible media streams.

  • rtmp-hls-server

    a docker file to create a streaming server that supports RTMP, HLS and DASH content based on nginx and nginx-rtmp-module.

  • [3] https://github.com/TareqAlqutami/rtmp-hls-server

  • OvenMediaEngine

    OvenMediaEngine (OME) is a Sub-Second Latency Live Streaming Server with Large-Scale and High-Definition. #WebRTC #LLHLS

  • My solution is cobbled together from OvenMediaEngine and OvenPlayer, which gives me about 250ms of latency when streaming. I have the whole thing behind a reverse proxy that uses Discord for forward auth, and then I have a list of discord user names that are allowed in. Streaming is controlled by a normal stream key rather than OAuth. It's very "batteries not included" though.

  • janus-gateway

    Janus WebRTC Server

  • A related answer to the above is to check out Janus. It's a general purpose WebRTC server that has RTMP and FTL ingest support. I think it's also batteries not included, but I think it's what Glimesh is based on.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • obs-studio

    OBS Studio - Free and open source software for live streaming and screen recording

  • FTL - This is the protocol that powered Microsoft's mixer platform. It's actually great. However, when Mixer died, the OBS project deprecated support for it. You might want to check out Glimesh to see if you can self host their platform.

  • Project-Lightspeed

    A self contained OBS -> FTL -> WebRTC live streaming server. Comprised of 3 parts once configured anyone can achieve sub-second OBS to the browser livestreaming

  • I also used to use Project-Lightspeed, which worked great. I abandoned it because I wanted to get off of FTL based on the OBS thread above. It otherwise worked for me.

  • OBS-studio-webrtc

    This is a fork of OBS-studio with generic support for webrtc. It leverages the same webrtc implementation most browsers use.

  • There are a few other WebRTC based solutions. There's a fork of OBS that allows streaming out using WebRTC. I think that only supports millicast.com, which I believe is not open source. There are a few other servers that handle WebRTC, but I don't know if any are WebRTC.

  • MovieNight

    Single instance video streaming server with integrated chat.

  • I remember looking at MovieNight in the past, but I never deployed it so I can't speak to whether it will work for you or not.

  • tgrgbox-ansible

    Ansible version of tgrgbox

  • If you're familiar with ansible, you can check out: https://github.com/mboilen/tgrgbox-ansible The playbook will set up a docker-compose file with an OME instance, an instance nginx to both serve the web site which hosts OvenPlayer and serves as a reverse proxy, and a little forward off stub to handle discord oauth (which sounds important for your scenario).

  • neko

    A self hosted virtual browser that runs in docker and uses WebRTC.

  • go-transcode

    On-demand transcoding origin server for live inputs and static files in Go using ffmpeg. Also with NVIDIA GPU hardware acceleration.

  • hls-restream

    Restream live content as HLS using ffmpeg in docker. Also with NVIDIA GPU hardware acceleration.

  • neko-rooms

    Selfhosted collaborative browser - room management for n.eko

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts