Looking for self hosted screen sharing/streaming solution

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

Our great sponsors
  • Zigi - Delete the most useless function ever: context switching.
  • SonarQube - Static code analysis for 29 languages.
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Scout APM - Truly a developer’s best friend
  • 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.

  • Zigi

    Delete the most useless function ever: context switching.. Zigi monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack! Plus it reduces cycle time by up to 75%.

  • 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.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • 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

    Live on-demand transcoding 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

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

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