PeerTube

From LinuxReviews
Jump to navigationJump to search
Playvideo.png

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

Conf.tube.website.jpg
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.

Mytube.levijataner.net what is PeerTube.jpg
A screenshot of the PeerTube-based website mytube.levijataner.net playing a video titled "What is PeerTube?"

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.

Hardware Requirements

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.

Software Requirements

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:

There is a very long list of PeerTube video sites at instances.joinpeertube.org/instances.

Links

The source code for the PeerTube software is available at framagit.org/framasoft/peertube/PeerTube. There is a pretty comprehensive production guide in the git tree /support/doc/production.md folder.


Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.