PeerTube is a free, open source media & streaming project written in TypeScript and released under AGPL-3.0. It has 15,316 GitHub stars, 1,846 forks and 692 open issues, and was last pushed 10 hours ago. On this registry it ranks #7 of 27 tracked projects in Media & Streaming, with 5 head-to-head comparisons available. It gained 5 stars over the last 6 tracked days.

PeerTube — Decentralized video platform for true digital freedom

What is PeerTube?

What it is

PeerTube is free, decentralized, federated video platform. It uses ActivityPub federation, browser P2P, TypeScript codebase, AGPL-3.0 license. Project sits in open-source media streaming and Fediverse ecosystem. Framasoft developed it as alternative to centralized video platforms such as YouTube, Dailymotion, and Vimeo.

Problem it solves: centralized services hold video data, attention, and audience relationships. PeerTube builds network of small federated, interoperable video hosting providers. Viewers watch videos, follow creators, and use live streams. Creators upload, describe, tag, embed, and stream without vendor lock-in. Administrators run instances, customize interfaces, and help other instances cache content. Platform is community-owned and ad-free.

Key capabilities

  • ActivityPub federation lets PeerTube instances and other Fediverse software exchange channels, videos, and follows.
  • Browser P2P uses WebRTC so visitors share streaming load while watching videos.
  • Video upload, descriptions, tags, and embeddable player make content discoverable across video fediverse.
  • Live streaming supports events, permanent streams, and streaming from client software.
  • Channel following works from Mastodon, Pleroma, other Fediverse places, or RSS without account on watched instance.
  • Instance customization lets users and administrators change colors, listing behavior, and web client experience.
  • Redundancy lets instances cache each other's videos, helping small instances serve wider audiences.

Who uses it and how

  • Creators upload videos, add tags and descriptions, then embed player on external website.
  • Live event hosts start streams from favorite client and can run permanent streams.
  • Viewers follow favorite channels from PeerTube or other Fediverse accounts, or subscribe via RSS.
  • Instance administrators install and operate PeerTube, customize interface, and configure redundancy with other instances.
  • Communities use support button to link viewers to donation accounts or other help resources.

Getting started

Users can join existing PeerTube instance or create own instance. Recommended install and upgrade path is production guide for any OS. Demonstration instances show stable, nightly, and release candidate versions.

When to use it — and when not to

PeerTube fits when video hosting should avoid centralized data control, ads, pay-per-view, and vendor lock-in. It replaces experience of YouTube, Dailymotion, or Vimeo with self-hosted or community-hosted instances. Self-hoster must operate instance and follow production guide; provided facts do not list database, storage, SMTP requirements. Open issue count 692, contributors 0, repo age 0 years indicate project maturity or metadata tracking may need review before production use.

project readme (upstream, from github) — read inline

PeerTube

Website | Join an instance | Create an instance | Chat with us | Donate

Be part of a network of multiple small federated, interoperable video hosting providers. Follow video creators and create videos. No vendor lock-in. All on a platform that is community-owned and ad-free.

Developed with ❤ by Framasoft

Framasoft logo

GitHub Test Status BrowserStack Status Weblate Status

screenshot

Introduction

PeerTube is a free, decentralized and federated video platform developed as an alternative to other platforms that centralize our data and attention, such as YouTube, Dailymotion or Vimeo. :clapper:

To learn more:

:sparkles: Features

All features for viewers | All features for content creators | All features for administrators

Video streaming, even in live!

Just upload your videos, and be sure they will stream anywhere. Add a description, some tags and your video will be discoverable by the entire video fediverse, not just your instance. You can even embed a player on your favorite website!

You are used to hosting live events? We got you covered too! Start livestreaming from your favorite client, and even host permanent streams!


Keep in touch with video creators

Follow your favorite channels from PeerTube or really any other place. No need to have an account on the instance you watched a video to follow its author, you can do all of that from the Fediverse (Mastodon, Pleroma, and plenty others), or just with good ol' RSS.


An interface to call home

Be it as a user or an instance administrator, you can decide what your experience will be like. Don't like the colors? They are easy to change. Don't want to list videos of an instance but let your users subscribe to them? Don't like the regular web client? All of that can be changed, and much more. No UX dark pattern, no mining your data, no video recommendation bullshit™.


Communities that help each other

In addition to visitors using P2P with WebRTC to share the load among them, instances can help each other by caching one another's videos. This way even small instances have a way to show content to a wider audience, as they will be shouldered by friend instances (more about that in our redundancy guide).

Content creators can get help from their viewers in the simplest way possible: a support button showing a message linking to their donation accounts or really anything else. No more pay-per-view and advertisements that hurt visitors and alter creativity (more about that in our FAQ).

:raised_hands: Contributing

You don't need to be a programmer to help!

You can give us your feedback, report bugs, help us translate PeerTube, write documentation, and more. Check out the contributing guide to know how, it takes less than 2 minutes to get started. :wink:

You can also join the cheerful bunch that makes our community:

Feel free to reach out if you have any questions or ideas! :speech_balloon:

:package: Create your own instance

See the production guide, which is the recommended way to install or upgrade PeerTube. For hardware requirements, see Should I have a big server to run PeerTube? in the FAQ.

See the community packages, which cover various platforms (including YunoHost and Docker).

:book: Documentation

If you have a question, please try to find the answer in the FAQ first.

User documentation

See the user documentation.

Admin documentation

See how to create your own instance.

See the more general admin documentation.

Tools documentation

Learn how to import/upload videos from CLI or admin your PeerTube instance with the tools documentation.

Technical documentation

See the architecture blueprint for a more detailed explanation of the architectural choices.

See our REST API documentation:

See our ActivityPub documentation.

License

Logo

[CC BY-SA 4.0](https://creativecommons.org/licenses/b

readme truncated — read the full docs on github

Frequently asked questions

Is PeerTube free to use?

PeerTube is open source under the AGPL-3.0 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 PeerTube do?

Decentralized video platform for true digital freedom

What is PeerTube written in?

PeerTube is primarily written in TypeScript. Its source is publicly available at https://github.com/chocobozzz/peertube, and it has 15,316 GitHub stars.