Fediverse 201: Owncast

Owncast is a selfhosted streaming service that connects to the fediverse. I take a look at how this works, and talk with the creator Gabe Kangas.

Fediverse 201: Owncast

Welcome to Fediverse 201, a new series to learn more about the fediverse. The conversation about the fediverse is often heavily focused on Mastodon and microblogging. But there is a lot more to the fediverse, and microblogging is just a part of what is possible when products and services can interact with each other.

I'll be talking with creators and maintainers about the products they are building, and explain how it fits in the larger ecosystem of the fediverse. In this edition: Owncast, a self-hosted streaming service.

What is Owncast

If you'd want to summarize what Owncast is in four words, you'd most likely go with 'Twitch for the fediverse". It is an easy way to start thinking about it when you are not familiar with Owncast, but there is more to it. Owncast is a streaming service, where you stream your own video to people. It is is open-source, but more importantly, self-hosted. This means you are entirely in control of your own video stream. It also means making choices about self-hosting or managed hosting that people who are used to Twitch might not be familiar with.

I talked to creator and maintainer Gabe Kangas about the project. In an earlier interview Gabe had mentioned how the idea came during the COVID lockdown, how dependent people were becoming on the moderation decisions by Twitch. Any decision whether right or wrong can mean the end of your channel, and sever the connection between you and your audience. Gabe reintereted this viewpoint succinctly in a recent post:

This is all good and interesting, but so far this describes a streaming service. So where does the fediverse come into play? It is all in the social connections that you can make: follow an Owncast stream on with your fediverse account, and get notifications in your feed that the stream is going live. Interactions also work the other way: favourite or boost that message, and it shows up directly in the chat on stream. To be clear, this is all completely optional. Owncast is foremost a streaming service, the owner of the stream has to explicitly enable all optional social features.

Discovery and moderation

One of the first associations for a streaming service is probably Twitch, the biggest and most succesful streaming service. But Gabe tells me that using Owncast as a Twitch alternative is actually one of its hardest usecases. This is because the biggest challenge for a streamer (video games or otherwise) is to find an audience. Twitch provides two services: the streaming product, as well as the directory that helps viewers find interesting streams to watch. This discoverability is hugely important for any streamer to gain and keep an audience. Owncast mainly focuses on the streaming product. There is a directory with streams to watch, but it is a side project. It is also opt-in, and most people who use Owncast do not make their stream available.

Instead, Owncast is best used in cases where there is already an existing audience, and you need to set up a stream for a specific purpose. Owncast therefore is well suited for people who are not neccesarily looking to grow their audience.

Content moderation plays a major role in how Owncast is designed, and how it federates with the rest of the fediverse. For example, an Owncast stream that gets posted on Mastodon. If you favourite or boost this post, it shows up in the chat next to the stream. However, if you comment on that post, it will not. This is to prevent potentials for abuse: as a streamer, you have little control over who responds to a message on Mastodon, and it is always reactive. In order to prevent people from spamming your post on Mastodon and having that show up in the chat on stream, messages do not get send over at all.

Getting started

Using Owncast is easy: just start watching a stream! There is a directory to find streams, but since this is opt-in for streamers, most streams are not part of the directory. Some of my personal favorite streams is the weekly live DJ sets by Strictly. Aral Balkan's Small Technology Foundation has a regular stream. HatniX plays is a good stream to watch for some Let's Play gaming streams. Jnktn.tv also has a scheduled stream every Saturday with live music mixes and other things.

If you want to get started with streaming yourself, Owncast has extensive documentation on how to set this up. You can either host it yourself, or use a hosting service. You can follow along with the quickstart guide by Owncast. It barely takes any time to set up; during a demo at FediForum Gabe showcased how to set up the entire process from start to finish within 2 minutes. This does mean that the streamer is responsible for the cost of the bandwidth, which might make people hesitant. Determining the exact costs depends on a lot of factors, but 10USD/month gets you a good quality regular stream for some 25 viewers, which is easy enough to get started.

The future

In a recent blog post, Gabe lays out the future direction for Owncast, and the focus is clearly ActivityPub. One of the main features that Gabe also mentioned when talking to him is the ability schedule an event. Knowing when the next stream is taking place is important for followers of a stream to stay connected, so they know when to show up. He envisions not only a calendar on your stream page, but a way to send this event data to the rest of the fediverse. For example, a message that shows up in your Mastodon feed that tells you a stream is taking place tomorrow at 8pm. Other features include clips, sharing a small segment of your stream with others, as well as a mini directory for a smaller group of streaming servers to show only each other´s stream.

Reading through the blog post also gives a good impression of the practical barriers and issues that are part of a decentralized network. Owncast would like to federate better with other projects, but the ways to implement this is not always clear, or other projects do not federate fully yet. There is still a lot of work to be done on the entire fediverse. Owncast is helping pull the fediverse forward by creating new types of federated implementations. Go give Owncast a shot, it's exciting to see how the fediverse can be so much more than just microblogging.