Directions / pointers for a server that buffers and rebroadcasts a video stream?

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

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

    Take control over your live stream video by running it yourself. Streaming + chat out of the box.

  • Check out owncast. It handles the capturing of the OBS stream, and then you will "only" need to solve the problems of an interstitial "technical difficulties" stream, and the chaining to another server (twitch in your case).

  • livego

    live video streaming server in golang

  • So a good place to begin - I tried googling this but there is a lot of noise in the google results since I am lacking domain keywords, what is it called when / what libraries can I use for receiving video from something like OBS? The one useful result I have so far is livego, my only concern being that everything is handled so I have no control over the delay/buffer. There is 1 github issue about it that was asked and then closed without an answer. I don't see it in the configs either. Also unsure if I would be able to target twitch as the upload target.

  • 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
  • go-gst

    Gstreamer bindings and utilities for golang

  • I don't know how low level you want to go, but assuming you don't want to re-implement video codecs then GStreamer is probably a good place to start, it allows you to create modular video pipelines and it has Go bindings (although I've not personally used them).

  • rtsp-simple-server

    Discontinued Also known as rtsp-simple-server. ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy that allows to read, publish and proxy video and audio streams. [Moved to: https://github.com/aler9/mediamtx]

  • I would use 2 instances of OBS with rtsp-simple-server in between. You can probably add a delay on the input of the second OBS instance.

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