Skip to main content

What You Need to Run Owncast

It is impossible to give a single answer about what the requirements are for you to run Owncast, or what it will cost. It is your server, and it is completely up to you how you choose to configure it, and in what environments you choose to run it. Every environment has different performance, prices and features.


Base knowledge

It is very helpful for you to understand the basics included in video streaming.

  • CPU: Used to transcode the video to multiple qualities so viewers can watch it on different speed networks.
  • Network bandwidth: Used to distribute the video to your viewers.

Viewer count does not impact CPU use

Knowing this, you see that CPU usage is the same regardless of how many viewers you have. 0 or 100, the CPU is still performing the work. Think of it like creating a zip file. If you have a 100MB file, and you zip it, and it becomes 70MB, you can send that 70MB file to as many people as you want without zipping that file again for each person. But you still need to send the file to each person seperately, requiring network bandwidth for each time you send it. However, if you want to send some people a 70MB version and others a 50MB version, you'll need to create two seperate files. That 50MB version will take longer and use more CPU to create, because of the additional work it takes to compress the file more. This is the same with video. The more work required to encode your video, the more CPU that's required. Generally, the more you need to reduce the size and bitrate of your video, the more CPU that will be used. But offering low bitrate/lower quality versions of your stream is important to enable more viewers to watch it from across the world, on any kind of network.

Your upload bandwidth as a streamer

Before your server can distribute video to viewers, you need to send your stream to the server. This requires upload bandwidth from wherever you're broadcasting. If you're streaming at 5000kbps, you need an upload speed that can reliably sustain that rate.

Rule of thumb: Your upload speed should be at least 1.5x your streaming bitrate to account for fluctuations and overhead. For a 5000kbps stream, aim for at least 7.5 Mbps upload.

Streaming BitrateMinimum Upload Speed
2500 kbps4 Mbps
4000 kbps6 Mbps
5000 kbps7.5 Mbps
6000 kbps9 Mbps
8000 kbps12 Mbps

Important considerations:

  • Home internet is often asymmetric: Most residential connections have much faster download than upload speeds. A "100 Mbps" plan might only have 10-20 Mbps upload. Check your actual upload speed at speedtest.net or similar.
  • Shared connections: If others on your network are using bandwidth while you stream, your available upload decreases.
  • Use a wired connection: WiFi adds latency and instability. A wired ethernet connection to your router is strongly recommended for streaming.
  • This is separate from server bandwidth: Your upload gets the stream to the server. The server then needs its own bandwidth to distribute to viewers.

Example Scenario

Now that you understand the basics, let's use an example to illustrate how your configuration can impact your server's resources, and most importantly, your viewers' experience. It's a little simplistic and the actual numbers can vary in real life, but it could help answer the question of "approximately how much bandwidth and CPU will Owncast use?"

You've configured your broadcasting source (such as OBS) to stream to your Owncast instance at 5000kbps. You have 25 viewers. 5 of them are on slow or mobile networks, 17 of them have fast, stable internet, and 3 of them have fast internet most of the time but the speed fluctuates. All 25 viewers watched an entire stream that lasts two hours. You have a hosting provider that gives you 4TB of bandwidth per month.

Offer a high and low quality option

You decide to offer both a high and low quality option, and you set the high quality option to 5000kbps and the low quality option to 1500kbps.

How much bandwidth is used on your server for this stream?

BitrateDurationViewersTotal
0.000625 Gigabytes per second (5000kbps)7200 seconds2090 Gigabytes
0.0001875 Gigabytes per second (1500kbps)7200 seconds56.75 Gigabytes
Total: 96.75 Gigabytes

How much CPU?

QualityCPU Usage
5000kbpsLight (minimal transcoding, matches input)
1500kbpsModerate (active encoding to reduce bitrate)

How is the viewer experience?

QualityViewersExperience
5000kbps20Good
1500kbps5Good

Result: You've provided both a high and low quality option for your viewers so those with a slow network have an option, and those with a fast network that might periodically slow down can dip down into the low quality when needed. Additionally, in this case you saved nearly 16G of bandwidth traffic due to offering a lower quality. You're using more CPU for a much better experience. You would be able to stream 42 times in a month before you hit your bandwidth limit.

Offer a single high quality option using the least amount of CPU

You've decided you want to use as little CPU on your Owncast server as possible so you enable "Video Passthrough" mode as the only output available. This means the exact video you're sending from your local broadcasting software is what is sent to your viewers.

How much bandwidth is used on your server for this stream?

BitrateDurationViewersTotal
0.000625 Gigabytes per second (5000kbps)7200 seconds25112.5 Gigabytes

How much CPU?

QualityCPU Usage
5000kbpsMinimal (no transcoding)

How is the viewer experience?

QualityViewersExperience
5000kbps17Good
5000kbps3Bad
5000kbps5Unwatchable

Result: You're not using much CPU, but only 68% of your viewers are having a good experience. The other 32% are having a bad experience with frequent buffering, and 20% of them cannot watch your stream at all. You would be able to stream 36 times in a month before you hit your bandwidth limit.

Use a S3 compatible storage provider for bandwidth

If you have concerns about your hosting plan, bandwidth allocation or viewership growth you can use a S3 storage provider instead of your server for bandwidth responsibilities. In this example you again decide to offer both a high and low quality option, and you set the high quality option to 5000kbps and the low quality option to 1500kbps. The CPU used is the same as the above example for the high+low quality option. Learn more about S3 compatible storage.

How much bandwidth is used on your server for this stream?

BitrateDurationTotal
0.000625 Gigabytes per second (5000kbps)7200 seconds4.5 Gigabytes
0.0001875 Gigabytes per second (1500kbps)7200 seconds1.35 Gigabytes
Total: 5.85 Gigabytes

How much outbound bandwidth is used on your S3 provider for this stream?

BitrateDurationViewersTotal
0.000625 Gigabytes per second (5000kbps)7200 seconds2090 Gigabytes
0.0001875 Gigabytes per second (1500kbps)7200 seconds56.75 Gigabytes
Total: 96.75 Gigabytes

Result: You've provided both a high and low quality option for your viewers so those with a slow network have an option, and those with a fast network that might periodically slow down can dip down into the low quality when needed. However, these video qualities are not being served from your Owncast server, but instead an external S3 compatible storage provider. This allows for increasing your viewership and adding additional video qualities without concern of you exhausting your server's bandwidth allocation. You would be able to stream 24/7 without worry using this configuration, however you'd be using the same amount of your server bandwidth if you had zero viewers or 100 viewers. Your CPU usage would be the same as if you were serving the video directly from your server.

Quick Reference

How much bandwidth will Owncast use?

Formula: (bitrate in kbps × duration in seconds × viewers) ÷ 8,000,000 = GB

Quick estimates for a 2-hour stream:

Bitrate10 viewers25 viewers50 viewers
2000kbps18 GB45 GB90 GB
4000kbps36 GB90 GB180 GB
6000kbps54 GB135 GB270 GB

Offering multiple quality options reduces total bandwidth because viewers on slower connections use the lower bitrate stream. Using S3-compatible storage offloads bandwidth from your server entirely.

How much CPU will Owncast use?

Quick guide:

ConfigurationCPU Usage
Single passthrough qualityMinimal
Single transcoded qualityLight
Two qualities (high + low)Moderate
Three qualities or heavy compressionHeavy

A single CPU core can typically handle one transcoded output quality at 30fps. Passthrough mode (no transcoding) uses very little CPU regardless of bitrate. Of course, all CPUs are different in performance across hardware and hosting providers, so it varies greatly and no guarantee can ever be made. You will need to experiment to find out what works best for your needs.

Does CPU usage increase with more viewers?

No. For video encoding, CPU usage stays constant whether you have 1 viewer or 1,000. The video is encoded once and distributed to all viewers. Only server bandwidth increases with viewer count. CPU usage can grow slightly with more viewers due to chat activity and other overhead, but this is minimal compared to video encoding.

How does frame rate affect CPU usage?

Higher frame rates require more CPU. Reducing frame rate is an effective way to lower CPU usage:

Frame RateRelative CPU
60 fps2x baseline
30 fps1x baseline
24 fps0.8x
15 fps0.5x

Consider using lower frame rates (24fps) for lower quality outputs to save CPU while maintaining smooth playback for viewers on slow connections.

How much disk space will Owncast use?

Almost none. Owncast streams in real-time and cleans up video segments as they're delivered. You don't need to plan for video storage.

Should I just offer the highest quality to keep things simple?

Offering only high bitrate video excludes viewers on mobile networks and slower connections. A 5000kbps stream requires a stable 5+ Mbps connection to watch without buffering. Many viewers don't have that, especially on mobile.

Recommendation: Always offer at least two quality options. A high quality (4000-6000kbps) for viewers with fast connections, and a low quality (1000-2000kbps) for everyone else. Your viewers will thank you.

Resources Calculator

Use this interactive calculator to estimate your bandwidth and CPU requirements based on your specific streaming configuration:

Output Qualities:
5000k (PT)
1500k
Bandwidth
91.8 GB
CPU
Heavy
Experience
Excellent
Recommendations
No recommendations

Learn more

Visit the detailed video documentation to learn more about how Owncast handles video.


Improve this page

See something missing or incorrect? Edit this page and improve the documentation for everyone.

Contributors to this documentation

Related Documents