The release of the decentralized platform for video hosting and streaming PeerTube 3.3 has taken place. PeerTube offers an independent alternative to YouTube, Dailymotion, and Vimeo, which utilizes a content distribution network based on P2P communications and interconnection between users' browsers. The project's developments are distributed under the AGPLv3 license.
Key innovations:
- The ability to create a custom homepage for each instance of PeerTube has been provided. The homepage can include information about the node, available content, purpose, and subscriptions. Adding to the homepage can be done through the Administration/Configuration/Homepage menu in Markdown or HTML format. Integration of buttons, a video player, playlists, video thumbnails, and channels can be added to the page. Built-in video lists update automatically.

- Support for playlist search has been added, which now reflects in the search results during navigation in PeerTube and when using the Sepia Search engine.

- Support for publishing shortened links to videos and playlists has been added. Standard 36-character video identifiers can now be published in a 22-character format, and instead of paths like ‘/videos/watch/’ and ‘/videos/watch/playlist/’, you can specify ‘/w/’ and ‘/w/p/’.
- Performance optimizations have been carried out. Retrieving video information is now twice as fast. The execution of federated requests has been accelerated. Work is underway to identify issues in systems with a very large number of users, videos, and connections to other nodes.
It should be noted that PeerTube is based on the use of the BitTorrent client WebTorrent, which runs in the browser and utilizes WebRTC technology to establish a direct P2P communication channel between browsers, and the ActivityPub protocol, which allows disparate video servers to come together in a unified federated network where users participate in content delivery and can subscribe to channels and receive notifications about new videos. The web interface provided by the project is built using the Angular framework.
The federated network of PeerTube forms as a consortium of interconnected small servers video hosting, each with its own administrator and customizable rules. Each video server acts as a BitTorrent tracker, where user accounts for that server and their videos are hosted. User identifiers are formatted as "@username@server_domain". Data transfers during viewing take place directly from the browsers of other visitors watching the content.
If no one is watching a video, the server where the video was originally uploaded handles the delivery (using the WebSeed protocol). In addition to distributing traffic among users watching the video, PeerTube also allows nodes run by authors for primary video hosting to cache videos from other authors, creating a distributed network not only of clients but also of servers, thus providing fault tolerance. There is support for live streaming with P2P content delivery (standard programs such as OBS can be used to manage the streaming).
To start broadcasting via PeerTube, a user only needs to upload a video, description, and a set of tags to one of the servers. After that, the video will be available across the entire federated network, not just from the primary upload server. Working with PeerTube and participating in content distribution requires only a standard browser and does not require installation of additional software. Users can track activities in their chosen video channels by subscribing to interesting channels in federated social networks (like Mastodon and Pleroma) or through RSS. To distribute videos using P2P communications, a user can also add a special widget with an embedded web player to their site.
Currently, there are over 900 servers functioning for content hosting, supported by various volunteers and organizations. If a user does not agree with the video hosting rules of a particular server PeerTube server, they can connect to another server or launch their own server. A pre-configured image in Docker format (chocobozzz/peertube) is provided for rapid server deployment.
Source: opennet.ru


