# PeerTube

PeerTube (/piʁ.tjub/ en français ou /ˈpɪə tjuːb/ en anglais) est un logiciel libre d'hébergement de vidéo décentralisé permettant la diffusion en pair à pair, et un média social sur lequel les utilisateurs peuvent envoyer, regarder, commenter, évaluer et partager des vidéos en streaming. Il est créé en 2015 et est développé depuis 2017 par Framasoft. Il fonctionne sur le principe d'une fédération d'instances hébergées par des entités autonomes. Son objectif est de fournir une alternative aux plateformes centralisées telles que YouTube, Vimeo$^,$ et plus récemment Twitch avec l'ajout de la prise en charge de la diffusion en direct.
En 2021, environ 80 000 utilisateurs utilisent chaque mois une instance PeerTube. L'ensemble accueille alors plus de 360 000 vidéos et diffuse près de 18 695 387 vues.

## Fonctionnement

Les fédérations d'instances étant asymétriques, les vidéos d'une instance sont visible chez celles qui la suivent, sans que l'inverse ne s'applique sans qu'elle ne les suive explicitement. Les vidéos restent stockées chez leurs instances d'origine ; la duplication se fait par l'action de l'administrateur d'une instance souhaitant aider une autre instance à servir ses vidéos, incitant à créer des fédérations mettant en commun leur bande passante.
Les fédérations sont indépendantes les unes des autres, ce qui peut permettre l’existence de regroupements variés et plus ou moins spécifiques dans leurs thématiques, politiques de modération ou plugins apportant des fonctionnalités supplémentaires. Cette indépendance couplée à la redondance communautaire du stockage de vidéos additionné du pair-à-pair lors du visionnage permet à PeerTube de supporter des charges autrement fatales à des serveurs plus modestes.
Au-delà du réseau PeerTube, le logiciel est interopérable avec d'autres réseaux et logiciels, comme les serveurs ActivityPub de microblogage, les clients BitTorrent pour le partage de vidéos ou les clients RSS pour suivre les nouvelles vidéos et commentaires.

## Historique

En 2015, ne trouvant pas de service web auto-hébergeable proposant des fonctionnalités similaires à YouTube, Chocobozzz, alors étudiant, développe un premier prototype de plateforme décentralisée reposant alors essentiellement sur WebTorrent pour distribuer la charge de diffusion de vidéos.
En 2017, il est contacté par Framasoft qui cherche alors à développer une autre possibilité que les plateformes centralisées dans le cadre de sa feuille de route Contributopia. L'association l'embauche et lui fournit les moyens nécessaires pour développer le projet.
Début 2018, Framasoft lance un financement participatif sur KissKissBankBank. Une première version bêta publique est lancée en mars 2018 et la sortie de la première version stable a lieu en octobre 2018. En juin 2018, quelques mois après la première version bêta, 113 instances du logiciel sont accessibles sur le web, hébergeant alors plus de 10 000 vidéos.
Fin juin 2018, différentes chaînes vidéos YouTube, dont celle de la Fondation Blender, l'OpenCourseWare du MIT ou encore Human Beatbox, se trouvent bloquées avec un message laissant penser à des problèmes de violation de copyright. Google annonce des changements de licence après la coupure, obligeant les chaînes comportant plus de 100 000 abonnés à activer la monétisation (par la publicité). D'après la Fondation Blender, Google l'aurait activée automatiquement pour sa chaîne, la poussant à créer sa propre instance PeerTube$^,$. Le 29 juin, la campagne de financement atteint l'objectif minimal de 20 000 euros, et finit le 5 juillet avec 53 100 euros, au-dessus du second objectif$^,$.
En novembre 2019, PeerTube passe en v2.0 et officialise sa mascotte : Sepia.
En mai 2020, un second financement participatif progressif en quatre étapes est lancé de juin à novembre 2020, cette fois sans passer par KissKissBankBank mais géré seulement par Framasoft. Il a pour objectif la sortie d’une troisième version majeure incluant une recherche globale entre les instances, des outils de modération, la gestion de plugins, de listes de lecture, et la diffusion en direct$^,$. Fin octobre, le projet Debian fait une donation de 10 000 euros, juste avant une clôture de la campagne pour 68 262 euros, dépassant ainsi l'objectif initial de 60 000 euros.
En janvier 2021, PeerTube passe en v3.0.
Le ministère français de l'Éducation nationale a financé des fonctionnalités d'édition vidéo de la version 4.2 dans le cadre du projet apps.education.fr piloté par la Direction du numérique pour l'éducation.
En 2022 l'Union Européenne ouvre sa propre instance PeerTube.

## Fonctionnalités
### Technologies vidéo

PeerTube accepte les formats vidéos supportés nativement par les navigateurs, et si le transcodage est activé, ne génère de vidéos qu'au format H.264 / MPEG-4 AVC. Depuis 2019, la diffusion par WebTorrent est supplantée par une version pair à pair de HLS.

#### Moyen de diffusion

PeerTube diffuse toujours l'ensemble des versions d'une vidéo via HTTP, assurant l'interopérabilité de clients simples. Cependant les navigateurs web sont amenés à utiliser la technologie WebTorrent pour lire une vidéo pour en répartir la charge en bande passante du serveur avec d'autres navigateurs. Chaque instance PeerTube comporte ainsi un tracker torrent et chaque navigateur web visionnant une vidéo par ce moyen va automatiquement la repartager tant qu'elle visionne la vidéo. Ce mécanisme est désactivable, tant par l'administrateur que par le visiteur.
Depuis 2019, une version pair à pair d'HLS est prévue pour remplacer WebTorrent afin de mieux supporter la lecture de vidéos de taille importante, ou la diffusion en direct. Depuis 2021, c'est le moyen de diffusion activé par défaut sur les nouvelles instances de PeerTube. Les deux moyens de diffusions peuvent coexister, au prix d'un stockage doublé.

#### Mise en ligne

PeerTube accepte presque tous les formats et encodages vidéo courants, comme MPEG-1, MPEG-2, H.264 AVC, H.265 HEVC, VC-1, VP8, VP9, et AV1 pour la vidéo et MP3, AAC, FLAC, Vorbis, Opus, et Dolby Digital (AC-3) pour l'audio. Grâce à l'usage sous-jacent de Ffmpeg, presque tout conteneur peut être mis en ligne sur les instances ayant activé le transcodage. Une recommandation est faite quant à la mise en ligne de vidéos afin de permettre la diffusion du média en attente de son transcodage final : début 2021, cette recommendation indique H.264 AVC pour la vidéo, AAC pour l'audio, dans un conteneur MP4 utilisant faststart.

### Fédération

PeerTube utilise également le protocole ActivityPub, un standard du W3C, afin de permettre un partage d'information avec d'autres services décentralisés comme Mastodon (e.g. un compte Mastodon peut commenter une vidéo publiée sur une instance PeerTube). Cela permet d'avoir un « écosystème » de plateformes décentralisées en opposition aux systèmes centralisés et notamment des GAFAM. Cet écosystème se veut davantage résistant à la censure et aux attaques sur le réseau, les services centralisés étant considérés comme des points de défaillance.
Chaque serveur PeerTube peut héberger un nombre de vidéos en rapport avec les ressources allouées (espace de stockage en particulier). Tout l'intérêt du système repose sur la fédération des instances PeerTube : chaque serveur peut s'abonner à d'autres serveurs, dont il va redistribuer les vidéos. Cette mise en réseau permet ainsi d'héberger un grand nombre de vidéos sans nécessiter d'infrastructures équivalentes à celles des géants du web.

## Limites

Si la nature décentralisée du réseau d'instance PeerTube le rend résilient et lui permet de s'adapter à des communautés d'intérêt variées, elle crée des problèmes techniques intrinsèquement différents de ceux de ses homologues centralisés.

### Découverte de contenus

Le moteur de recherche de chaque instance n'a connaissance que des vidéos locales et de celles des instances suivies. Pour trouver une vidéo provenant d'une instance très peu suivie, il peut être nécessaire d'effectuer une même recherche dans un grand nombre d'instances. Cela peut s'avérer hasardeux et fastidieux, surtout pour un néophyte. Pour combler ce manque Framasoft a mis en place en septembre 2020 le serveur SepiaSearch qui permet de faire des recherches sur l'ensemble des instances PeerTube qui lui sont connues, lui-même une instance du logiciel open source search-index.
De même, le système de recommandation de vidéos et de comptes ne peut se faire comme sur YouTube, où les suggestions convergent vers du contenu déjà aimé par des comptes à l'historique similaire, selon un algorithme inadapté à des instances PeerTube par nature trop petites pour l'usage de modèles statistiques se reposant sur l'usage massif de données.

### Système publicitaire

Un certain nombre de vidéastes diffusant des vidéos s'attendent désormais à ce que la plateforme où ils diffusent leur vidéo les rémunère, sur le modèle popularisé par YouTube. PeerTube ne dispose cependant pas de système similaire par défaut, jugeant qu'il n'est viable qu'à l'échelle d'une grande plateforme et en ciblant les utilisateurs pour garantir un prix par vue correct, et qu'il déforme la dynamique des recommandations en alignant son intérêt avec celui de régies publicitaires, empêchant de le transposer directement à PeerTube.
La mise en place de publicité est possible, l'administrateur doit alors installer une extension, qui ne s'applique cependant pas à la diffusion sur les autres instances. Les meilleurs moyens d'obtenir un revenu restant la sponsorisation des vidéos et l'appel aux dons - ce dernier étant mis en avant dans l'interface de visualisation d'une vidéo.