explaingit

owncast/owncast

11,239GoAudience · ops devopsComplexity · 3/5LicenseSetup · moderate

TLDR

A self-hosted live video streaming server you run on your own hardware or VPS that works with OBS and other streaming tools, includes a built-in chat room, and lets Mastodon and fediverse followers get notified when you go live.

Mindmap

mindmap
  root((Owncast))
    What it does
      Live streaming
      Built-in chat
      Fediverse support
    Integrations
      OBS Streamlabs
      Mastodon fediverse
      RTMP protocol
    Tech stack
      Go backend
      React frontend
      ffmpeg
    Audience
      Content creators
      Self-hosters
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Run your own live streaming server so you own your stream content and audience without relying on Twitch or YouTube Live.

USE CASE 2

Stream from OBS or Streamlabs to your Owncast server the same way you would to Twitch, with no special software changes.

USE CASE 3

Let Mastodon and other fediverse followers receive stream notifications and watch your live stream from their social network.

USE CASE 4

Manage chat moderation and stream settings through the built-in admin panel at /admin.

Tech stack

GoReactffmpeg

Getting it running

Difficulty · moderate Time to first run · 30min

Requires ffmpeg and a VPS or home server with open ports, native Windows server is not supported, use WSL on Windows.

Free to use, modify, and host for any purpose including commercial use, keep the copyright notice.

In plain English

Owncast is a self-hosted live video streaming server. You run it on your own hardware or a VPS, and it provides both the video stream and a built-in chat room, similar in function to services like Twitch or YouTube Live but hosted entirely by you. The project gives you full control over the content, moderation, and audience. The server is designed to run as a single service that works out of the box. Once running, you point any broadcasting software that uses the RTMP protocol at your Owncast instance. RTMP is the standard used by most major streaming platforms, so tools like OBS and Streamlabs work with it without special configuration. Viewers watch through a web interface that includes a video player and live chat. An admin panel at /admin lets you manage stream settings and moderation. The backend is written in Go and the frontend is a React web interface. Building from source requires Go 1.24 or above, a C compiler, and ffmpeg. Most users are directed to the quickstart guide on the project website rather than building from source manually. Owncast supports ActivityPub, the same protocol used by Mastodon and other fediverse platforms. This means people on those networks can follow your Owncast channel and receive stream notifications, extending reach into decentralized social networks without extra work on the streamer's part. Native Windows server support is not included, but Windows users can run Owncast through the Windows Subsystem for Linux. The project is MIT-licensed, funded through donations on OpenCollective, and open to community contributions.

Copy-paste prompts

Prompt 1
Help me set up Owncast on an Ubuntu VPS so I can point OBS at my own server and viewers can watch in a browser with a built-in chat room.
Prompt 2
I have Owncast running and want my Mastodon followers to get notified when I go live. Walk me through connecting Owncast to ActivityPub so fediverse users can follow my channel.
Prompt 3
Show me how to configure Owncast's admin panel to set a stream key, enable chat moderation, and customize my viewer page with a title and description.
Prompt 4
How do I run Owncast on Windows using WSL since native Windows server support is not included?
Open on GitHub → Explain another repo

← owncast on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.