owncast is a free, open source social networking project written in Go and released under MIT. It has 11,535 GitHub stars, 1,177 forks and 165 open issues, and was last pushed 39 hours ago. On this registry it ranks #6 of 44 tracked projects in Social Networking, with 5 head-to-head comparisons available. It gained 4 stars over the last 3 tracked days.

What is owncast?

What it is

Owncast is an open source, self-hosted, single-user live video streaming and chat server written in Go, with a React frontend, released under the MIT license. It positions itself as a way to run your own live streams in a style similar to the large mainstream streaming services, while keeping complete ownership over your content, interface, moderation, and audience. The project lives in the fediverse: its topic list covers ActivityPub, federation, and decentralized networking, placing it alongside other federated social software rather than inside a proprietary platform.

The concrete problem it solves is dependence on centralized streaming providers for both distribution and audience. Owncast bundles streaming and chat into one service that you run yourself, so the stream, the chat, and the moderation rules belong to the operator instead of a third party. Compatibility with RTMP means existing broadcast setups do not need to be rebuilt — the same software used against mainstream services can point at your own instance instead. Everything ships as a single service intended to work out of the box.

Key capabilities

  • Self-hosted, single-user live video streaming server with a bundled chat system.
  • RTMP ingest, compatible with any broadcasting software that streams to a remote server over RTMP.
  • Documented use with OBS, Streamlabs, Restream, and other broadcasting tools.
  • Go backend and React frontend, with the web interface covering player, chat, embed components, and other UI.
  • ActivityPub and federation support, with the fediverse listed among the project topics.
  • HLS as a listed delivery topic for the live video stream.
  • Separate admin interface reachable at /admin on the running server.

Who uses it and how

  • Streamers point existing broadcasting software such as OBS, Streamlabs, or Restream at their own Owncast instance instead of a mainstream service.
  • Self-hosters run the service themselves to keep ownership of content, interface, moderation, and audience.
  • Fediverse participants follow and interact with streams through ActivityPub federation.
  • Developers run the backend directly from source and the frontend with npm run dev when working on the web interface.
  • Windows users install Owncast through Windows Subsystem
project readme (upstream, from github) — read inline

Owncast Logo

Take control over your content and stream it yourself.


License


Explore the docs »
View Demo · FAQ · Report Bug · Report Security Issue

Table of Contents

About The Project

Owncast is an open source, self-hosted, decentralized, single user live video streaming and chat server for running your own live streams similar in style to the large mainstream options. It offers complete ownership over your content, interface, moderation and audience. Visit the demo for an example.

GitHub all releases Docker Pulls GitHub issues by-label Open Collective backers and sponsors

Getting Started

The goal is to have a single service that you can run and it works out of the box. Visit the Quickstart to get up and running.

Use with your existing broadcasting software

In general, Owncast is compatible with any software that uses RTMP to broadcast to a remote server. RTMP is what all the major live streaming services use, so if you’re currently using one of those it’s likely that you can point your existing software at your Owncast instance instead.

OBS, Streamlabs, Restream and many others have been used with Owncast. Read more about compatibility with existing software.

Building from Source

Owncast consists of two projects.

  1. The Owncast backend is written in Go.
  2. The frontend is written in React.

Read more about running from source.

Important note about source code and the develop branch

The develop branch is always the most up-to-date state of development and this may not be what you always want. If you want to run the latest released stable version, check out the tag related to that release. For example, if you'd only like the source prior to the v0.1.0 development cycle you can check out the v0.0.13 tag.

Note: Currently Owncast does not natively support Windows servers. However, Windows Users can use Windows Subsystem for Linux (WSL2) to install Owncast. For details visit this document.

Backend

The Owncast backend is a service written in Go.

  1. Ensure you have prerequisites installed.
  2. Install the Go toolchain (1.24 or above).
  3. Clone the repo. git clone https://github.com/owncast/owncast
  4. go run main.go will run from the source.
  5. Visit http://yourserver:8080 to access the web interface or http://yourserver:8080/admin to access the admin.
  6. Point your broadcasting software at your new server and start streaming.

Frontend

The frontend is the web interface that includes the player, chat, embed components, and other UI.

  1. This project lives in the web directory.
  2. Run npm install to install the Javascript dependencies.
  3. Run npm run dev

Contributing

Owncast is a growing open source project that is giving freedom, flexibility and fun to live streamers. And while we have a small team of kind, talented and thoughtful volunteers, we have gaps in our skillset that we’d love to fill so we can get even better at building tools that make a difference for people.

We abide by our Code of Conduct and feel strongly about open, appreciative, and empathetic people joining us. We’ve been very lucky to have this so far, so maybe you can help us with your skills and passion, too!

If you're new to the project, maybe you'd be interested in looking at Good First Issue.

There is a larger, more detailed, and more up-to-date guide for helping contribute to Owncast on our website.

Donors

The Owncast project is possible thanks to the people who make a donation to support us and our work. Thank you to all our donors who help keep Owncast running by donating on OpenCollective. You can support this project by becoming a backer/sponsor.

GitHub issues by-label

Security

Report suspected security vulnerabilities privately to [email protected]. This is the security-reporting address. The personal contact information in the Support section is for general contact, not vulnerability reports.

See the repository security policy for scope, disclosure, and credit details.

License

Distributed under the MIT License. See LICENSE for more information.

Support

  • Browser testing via
  • Project chat provided by
  • CDN services by
  • UI testing with Chromatic
  • Infrastructure and hosting by

Contact

Project chat: Join us on Rocket.Chat if you want to contribute, follow along, or if you have questions.

Gabe Kangas - @[email protected] - email [email protected]

Project Link: https://github.com/owncast/owncast

Frequently asked questions

Is owncast free to use?

owncast is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does owncast do?

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

What is owncast written in?

owncast is primarily written in Go. Its source is publicly available at https://github.com/owncast/owncast, and it has 11,535 GitHub stars.