A few questions to discover PeerTube
PeerTube is software that you install on a web server. It allows you to create a video hosting website, so create your "homemade YouTube".
The difference to YouTube is that it's not intended to create a huge platform centralizing videos from the whole world on a single server farm (which is horribly expensive).
On the contrary, PeerTube's concept is to create a network of multiple small interconnected video hosting providers.
PeerTube is unique because (as far as we know) it's the only video hosting web application which combines three advantages:
An open code under a free/libre license
- PeerTube is freely provided, no need to pay to install it on your server;
- We can look under the hood of PeerTube (its source code): it's auditable, transparent;
- It can be enhanced by everyone's contributions.
A federation of interconnected hosting providers
- It reduces server bandwidth overload if a video becomes viral;
- We become an actor of the video broadcasting;
- It's based on WebRTC, a free and open-source project for web browsers.
PeerTube is developed by Framasoft, a French non-profit popular educational organization on digital issues.
It employs a developer, Chocobozzz, who works since 2018 on PeerTube projects:
- Development of new features and software maintenance;
- Thoughts on the architecture, the design and the future of PeerTube;
- New stable releases preparation and communication (blog posts, changelog, etc.);
- Official PeerTube website development and maintenance;
- PeerTube plugins index development and maintenance;
- PeerTube instances index development and maintenance;
- PeerTube videos/channels search index development and maintenance;
- PeerTube documentation website development and maintenance;
- PeerTube support and discussions on bugtrackers, forum, IRC or by email;
- Pull requests/merge requests reviews, merges, and support of features added by external contributions (bug fixes, documentation, refactor, etc.);
- Maintenance of several PeerTube instances (peertube.cpy.re, peertube2.cpy.re, etc.).
Moreover, Chocobozzz works on internal Framasoft's projects (Framapad, Framatalk, etc.). In other words, the management of PeerTube projects is operated by only one employee, who has other responsabilities in addition to his workload.
Other Framasoft's volunteers and salaried members also contribute to the PeerTube project on various aspects (strategy, communication, development, community animation). Nevertheless, PeerTube is not developed by a startup with a team of 50 people, and a workflow full of hyper-formatted processes.
Framasoft will therefore takes the time to improve the software progressively, at its own pace and with its atypical methods which, so far, have proven to be rather effective.
No it is not.
PeerTube is a software created, developed and maintained by Framasoft, a French non-profit popular educational organization on digital issues. Framasoft has a French culture, respects French laws and is a political actor (« who participates in the life of the city-state ») of civil society.
PeerTube is part of several actions assembled by Framasoft in the Contributopia roadmap. These actions aim to propose alternative digital tools to those coming from surveillance capitalism, so that people who do not recognize themselves in such a system can create spaces of freedom.
Consequently, PeerTube development and/or management of websites associated with the PeerTube project (joinpeertube.org, instances.joinpeertube.org, search.joinpeertube.org, etc.) may not please everyone (in particular because of different ideas, ideologies of cultures).
We respect that, and remind that all software of the PeerTube project is free software and can be installed with their own domain name.
We can answer with certainty: no!
The ambition remains to be a free and decentralized alternative: the goal of an alternative is not to replace, but to propose something else, with different values, in parallel to what already exists.
Yes, Framasoft holds the "PeerTube" trademark in several countries for preventive purposes.
Framasoft affirms here its intention to not use intellectual property for predatory purposes or to constrain legitimate uses of the software. However, Framasoft reserves the right to use trademark law, especially in case of damage to the image of the PeerTube project, edited by Framasoft.
We recommend you to create your own digital identity, without using "PeerTube" for your project (software name, website domain...) to not confuse people about who is behind the website/project.
For more information, please refer to our Trademark Code of Conduct.
For those who want to watch videos
- Become a part of the broadcasting of the videos you are watching
- Help the PeerTube website to share videos and lives using P2P
- Easily disable P2P in your account if logged-in or in your anonymous settings
- Customize the interface
- Update your name, avatar or description in your profile
- Set your appropriate NSFW policy (display, blur or hide NSFW videos)
- Choose a PeerTube theme to change the look and feel of the interface
- Automatically filter videos depending on many criteria (language, category, live/VOD etc)
- Choose your autoplay policy
- Manage your library
- Use the built-in Watch Later playlist and add easily videos in it
- Organize videos in public or private playlists
- Automatically resume videos from the last time you watched them
- Check your watch history in a dedicated page
- Subscribe to channels
- Subscribe to local or remote channels to be notified when they publish videos
- Display videos of your subscriptions in a dedicated page
- Share and interact with videos and playlists
- Share the video or the playlist URL/embed with attributes (automatically start/stop at, loop enabled, muted...)
- Download a video using a dedicated modal
- Comment, reply and rate videos using PeerTube or an ActivityPub compatible software (Mastodon, Pleroma...)
- Search videos, channels and playlists
- Search local or remote videos, channels and playlists
- Use many advanced filters (tags, category, licence...)
- Use the video URL, playlist URL or channel handle/URL to fetch remote content
PeerTube is not a service, PeerTube is free software. This means that anyone can download and install PeerTube to host videos on a specific domain name (this is called "hosting a PeerTube instance/website"). Framasoft has no control over who downloads PeerTube, and who installs or uses it. Nor does Microsoft or Adobe have any control over who uses Word or Photoshop and for what purposes.
Framasoft only hosts and promotes one PeerTube instance: https://framatube.org
Also, Framasoft hosts and promotes only one PeerTube search index: https://sepiasearch.org
This is not true. In September 2021, the 900 instances listed on our public index host ~1% videos tagged as NSFW (i. e. the content is sensitive, which could be something else than pornography).
Administrators have full control of the content they want to display, and how they want to display it. In the default configuration, PeerTube hides NSFW videos.
Your web browser sends a view to the server after 30 seconds of playback. If a video is less than 30 seconds in length, a view is sent after 75% of the video duration. After giving a view, that IP address cannot add another view in the next hour. Views are buffered, so don't panic if the view counter stays the same after you watched a video.
For those who want to upload videos
- Find the PeerTube website that suits you best
- Join a PeerTube community depending on its topic, terms of services or code of conduct
- Talk to administrators and moderators that are real people, not robots
- Upload and import videos
- Upload or import videos from the web (Youtube, Dailymotion...) or from a torrent file
- Set metadata: category, licence, language, tags, description, thumbnail...
- Choose video privacy: public, unlisted, internal or private
- Add subtitles
- Easily disable comments or download
- Upload an audio file and an image and let PeerTube take care of creating the video!
- Live streaming
- Publish live videos in PeerTube using your favorite RTMP compatible software (OBS, Restream, ffmpeg...)
- Create permanent lives to stream multiple times inside the same live (URL doesn't change for the viewers)
- Let PeerTube create a replay of your live
- Manage your channels
- Create multiple channels inside your account to group your videos by topic
- Brand your channel using a dedicated name, a banner and an avatar
- Set a Support button for your channel to explain how to support your work
- People can subscribe to your channel from a PeerTube website or from an ActivityPub compatible software (Mastodon, Pleroma...)
- Create public playlists assigned to your channel to organize your content or remote videos
Being free doesn't mean being above the law! Each PeerTube hosting provider can decide on its own general conditions of use, abiding by their local laws.
For example, in France, discriminatory content is prohibited and may be reported to authorities. PeerTube allows users to report problematic videos, and administrator must then apply its moderation in accordance with its terms and conditions and the law.
There are none at the moment: PeerTube is a tool that we wanted neutral in terms of monetization.
For now, the solution proposed the support button under the video. This button displays a frame in which people who upload videos can display text, images, and links freely (link to Patreon, Tipeee, Paypal, Liberapay...).
We did not go any further, as we refuse to tie our code to a particular content funding method, that might not fit all communities and deter others. It's the reason why we encourage developers to use the PeerTube plugin API to create their own monetization system.
For PeerTube administrators
- Free and open-source software
- Federation with ActivityPub
- Enable or disable federation for your instance
- Display videos/accounts of other instances on yours
- Automatically follow instances from a public index
- P2P with WebRTC
- Reduce your server bandwidth using P2P on VOD and live videos
- Enable or disable easily P2P for your instance
- Help (or get help) other instances using PeerTube redundancy
- Video transcoding
- Optimize videos and generate multiple resolutions using ffmpeg
- Enable additional video extension (.mkv, .mov, .avi...) or audio uploads
- Generate HLS playlists or raw MP4 files
- Customize ffmpeg transcoding profile using PeerTube plugins
- Live streaming
- Enable live streaming for your instance
- Add ability for your users to publish a replay of live videos
- Set simultaneous live streaming limits (per user/instance)
- Enable live streaming transcoding in multiple resolutions
- Customize ffmpeg live transcoding profile using PeerTube plugins
- Video imports
- Enable video import using youtube-dl (Youtube, Dailymotion...)
- Enable video import using webtorrent (torrent file or magnet URI)
- Moderation tools
- Enable signup and set a max users and upload limits
- Assign moderator/admin roles
- Manage abuse reports on videos, accounts or comments using a dedicated dashboard
- Automatically block videos from untrusted users awaiting a review by moderators
- Block specific videos and specify a reason
- Ban local users, mute accounts or instances
- Highly configurable
- Easily set instance metadata: name, description, main categories...
- Create your own homepage using markdown or HTML
- Search and install PeerTube plugins or themes
- Use external auth (LDAP, OpenID Connect...) using auth plugins
- Choose default user settings (NSFW policy, comments/download/P2P enabled, etc)
- Store videos in the server filesystem of in object storage
- Broadcast a message to users using a banner
PeerTube should run happily on a virtual machine with 2 threads/vCPUs, at least 1 Gb of RAM and enough storage for videos. In terms of bandwidth, a lot will depend on which PeerTube instances you federate with and what your relation with them is (more about that below).
As a real life example, the PeerTube demonstration server https://peertube.cpy.re runs on 2 vCores and 2GB of RAM. Average consumption is:
- CPU: nginx ~ 2%, peertube ~ 10%, postgres ~ 1%, redis ~ 1%
- RAM: nginx ~ 1MB, peertube ~ 150MB, postgres ~ 30MB, redis ~ 20MB
- Network: ~200GB sent per month (https://framatube.org: ~1.5TB sent per month)
Except for video transcoding, a PeerTube instance is not CPU bound. Neither Nginx, PeerTube itself, PostgreSQL nor Redis require a lot of computing power. If it were only for those, one could easily get by with just one thread/vCPU.
You will hugely benefit from at least a second thread though, because of transcoding. Transcoding is very cpu intensive. It serves two purposes on a PeerTube instance: it ensures all videos can be played optimally in the web interface, and it generates different resolutions for the same video. PeerTube support for offloading transcoding to other machines is being discussed, but not yet implemented.RAM
1/2 GB of RAM should be plenty for a basic PeerTube instance, which usually takes at most 150 MB in RAM. The only reason you might want more would be if you colocate your Redis or PostgreSQL services on a non-SSD system.Storage
There are two important angles to storage: disk space usage and sustained read speed. To make a rough estimate of your disk space usage requirements, you want to know the answer to three questions:
- What is the total size of the videos you wish to stream?
- Do you want to enable transcoding? If so, do you want to provide multiple resolutions per video? Try this out with a few videos and you will get an idea of how much extra space is required per video and estimate a multiplication factor for future space allocation.
- Which sharing mechanisms do you want to enable? Just WebTorrent, or also HLS with p2p? If you want both, this will double your storage needs.
If you want to store many videos on your PeerTube instance, you may want to store videos externally using Object Storage.
In terms of read speed, you want to make sure that you can saturate your network uplink serving PeerTube videos. This should not be a problem with SSD disks, whereas traditional HDD should be accounted for: typical sustained read rates for a well tuned system with a 7200rpm hard disk should hover around 120 MB/s or 960 Mbit/s. The latter should be enough for a typical 1 Gbit/s network uplink.Network
A rough estimate of a traditional server's video streaming network capacity is usually quite straightforward. You simply divide your server's available bandwidth by the average bandwidth per stream, and you have an upper bound.
Take a server for example with a 1 Gbit/s uplink for example pushing out 1080p60 streams at 5 Mbit/s per stream. That means the absolute theoretical upper capacity bound is 200 simultaneous viewers if your server's disk i/o can keep up. Expect a bit less in practice.
But what if you need to serve more users? That's where PeerTube's federation feature shines. If other PeerTube instances following yours, chances are they have decided to mirror part of your instance! The feature is called "server redundancy" and caches your most popular videos to help serve additional viewers. While viewers themselves contribute a little additional bandwidth while watching the video in their browsers (mostly during surges), mirroring servers have a much greater uplink and will help your instance with sustained higher concurrent streaming.
No it doesn't. You can't deploy multiple PeerTube nodes behind a load balancer.
As far as we know, there are 3 limitations to handle a large amount of users in PeerTube:
- Bandwidth: can be mitigated using PeerTube redundancy system and cache servers that serve video static files in front of your PeerTube instance
- Storage: can be mitigated using S3/Object storage
- Video transcoding: we may implement transcoding by remote workers in the future
If you notice performance problems or a bottleneck at your scale, don't hesitate to create an issue to discuss it.
Framasoft tries to make around 4 major releases per year. Releasing a new PeerTube version takes a lot of our time, so we cannot change this release cycle.
There is no LTS version: only the latest stable version of PeerTube is supported by Framasoft.
If you want to test the PeerTube develop branch, we provide nightly builds.
We try to keep compatibility with the latest minor version (2.3.1 with 2.2 for example). Unfortunately we don't have enough resources to keep compatibility with other versions.
"It's outrageous and unconscionable: you're releasing a PeerTube version that doesn't contain the necessary tools to effectively manage videos claimed by rights holders, or to effectively manage the issue of online harassment in comments, or to effectively manage monetization through advertising, or to (insert here your request to PeerTube). It will never work! What do you intend to do about it?"
You're right. PeerTube is not the perfect tool, far from it. And we never promised this software would include all the features corresponding to every use cases.
Remember that PeerTube has only one full time developer and a small handful of very involved volunteers. It is not a product developed by a start-up with a full time team and significant financial support.
So if you feel that PeerTube does not currently meet your needs, it's simple: don't use it right now. We remind you that we don't make money developing PeerTube, and if we obviously hope for its success, Framasoft does not depend on it to continue its activities.
Yes it does! Since the first stable release of PeerTube in October 2018, every release added or improved moderation features:
- PeerTube 1.1 added bulk actions in the admin users table and instance/account muting;
- PeerTube 1.2 added the ability to unfederate a video on blacklist; the notification system now shows reports, and new users;
- PeerTube 1.3 added the possibility for admins to automatically quarantine new videos for new/untrusted users until a moderator reviews it. The instance's followers management was also reworked: UI is improved, follows can be denied;
- PeerTube 1.4 added a plugin system, and made sure plugins can for instance automatically blacklist videos or reject comments based on any rule (similar to Pleroma MRF);
- PeerTube 2.0 setup now asks the admin to answer questions regarding their moderation policy and dedication to it. Make a feature to automatically follow a public index of PeerTube instances part of core PeerTube, instead of leaving admins to script it themselves. This allows instance administrators to automatically follow instances of a "follow list" of their choice; a list which is self-hostable, so that communities can grow at their own pace;
- PeerTube 2.1 added an internal privacy mode to videos (such videos won't be shared outside of the instance), and added quick access to moderation tools below the comments and hooks to create registration plugins (geoblocking or captchas for example); some third-party plugins already demonstrate this ability. This release also put emphasis on describing moderation features within the interface: warnings for features that might increase moderation work like autofollow, and descriptions to the action dropdowns.
- PeerTube 2.2 greatly improved video abuses management (search, abuses display, actions on the video or account etc), added moderation hooks and helpers in the plugins API and Framasoft developed an experimental Auto mute plugin based on public lists.
- PeerTube 2.3 improved the report modal and added predefined reasons selection. This version made it possible to delete all the comments of an account and Framasoft developed an experimental Auto block videos plugin based on public lists.
- PeerTube 2.4 added ability to report accounts and comments, a messaging system between the local reporter of an abuse and moderators, and an abuse management view for users.
- PeerTube 3.0 added a dedicated view to manage comments of the instance (list, filter, remove in bulk etc).
PeerTube developers are committed to develop and improve moderation tools to make instances always easier to manage. We welcome you to take part in discussions to help ongoing efforts in that direction or suggest new ones!
Yes, core PeerTube (PeerTube without installed plugins/themes) is compatible with GDPR:
- P2P can be disabled by default
- It doesn't send personal data to any third party if P2P is disabled
- Users can delete their account
- Administrators can manually export users data from the database. An automatic export tool will be available in the future
It probably means that we moderated your instance after an abuse report and found out that:
- there is problematic content hosted by the instance (not only one video/account/channel or two, but severals)
- the instance doesn't seem to be properly moderated or lacks federation policy ( = lack of ToS or CoC in the about page)
Framasoft remains the sole judge of this notion of “abuse”.
- Free and open-source software
- View, share and update PeerTube code
- Join a community of admins, video makers and viewers
- PeerTube REST API
- Player embed API
- Plugins & Themes
PeerTube uses ActivityPub because this federation protocol is recommended by the W3C and is also used by other projects like the social network Mastodon.
IPFS is a great technology, but it still seems too young for streaming large files. The PeerTube P2P system based on well established protocols like HTTP and WebRTC, and the redundancy system are more easy for us to use and to maintain.
DTube does not seem open source, because publishing only compiled code hinders freedom of modification.
PeerTube does not impose any remuneration model. This is the choice we have made, and others (like DTube) have made other choices. So it's up to you to see what suits you.