PeerTube is a free software video hosting platform package written for NodeJS. It can be used to setup video sharing websites similar to YouTube and BitChute. It uses WebTorrent to distribute video streams and it uses the ActivityPub standard to let videos from one PeerTube become available on other PeerTube instances. PeerTube instances can subscribe to other PeerTube instances on a site-wide level. Users of other PeerTube instances and other websites using ActivityPub such as those based on Mastodon can subscribe on a per-channel basis. End users using PeerTube-based websites can create channels, upload videos, comment on videos, search for videos and watch and enjoy videos. PeerTube is, form a content creators perspective, a great way to share videos without relying on locked-down platforms controlled by large multi-national corporations.
PeerTube is free software under the GNU Affero General Public License version 3.
Features And Usability
A PeerTube installation running at conf.tube
Websites built using PeerTube are, from a end-users perspective, very similar in terms of features and functionality as bigger video sharing platforms like YouTube and BitChute. Users can watch videos, write comments on videos, subscribe to videos - either from a local account or an account on another fediverse website compliant with the ActivityPub standard, login and upload videos if the website is configured to allow upload and search using a pretty good built-in search function.
PeerTube is, from a site administrator perspective, fairly easy to get up and running. There is a detailed "Production guide" available which should be easy to follow for those with basic Linux system administration skills. Advanced users will have no problem getting a PeerTube instance up and running.
The requirements for running a PeerTube instance can be low depending on how you configure it. PeerTube can optionally re-encode uploaded videos using ffmpeg. Enabling that feature raises the hardware requirements a lot, re-encoding just one ten minute long 1080p video will load all the cores on a modern machine for some time. You can limit the number of cores ffmpeg is allowed to use if you enable that feature.
Bandwidth is also a concern, running PeerTube on a slow ADSL link is a bad idea. It can be used on a simpler home server with a 100/100mbit fiber connection.
Storage is also a concern, videos take up a lot of space and a site which becomes somewhat popular will quickly use a lot of storage space.
PeerTube needs a web server front-end. nginx is recommended. You can also use Apache. The other requirements are:
- PostgreSQL >= 9.6
- Redis >= 2.8.18
- NodeJS >= 10.x
- yarn >= 1.x
- FFmpeg >= 3.x
Most GNU/Linux distributions have new enough versions of those packages available in their repositories.
Sites running PeerTube
A lot of smaller lesser-know video sharing websites use PeerTube. Here's some examples:
- conf.tube features videos from free software conferences.
- video.wivodaim.net and mytube.levijataner.net are pretty big PeerTube instances with a lot of videos in a wide range of categories.
- peertube.video appears to be the biggest and most popular PeerTube deployment.
- anti-censorship sites to counter de-platforming as on utube.
There is a very long list of PeerTube video sites at instances.joinpeertube.org/instances.