NewPipe, le client Youtube alternatif

NewPipe, le client Youtube alternatif

C’est quoi NewPipe ?

NewPipe est un front-end libre et léger pour regarder des videos et écouter de l’audio sur Android, sans compte et sans services Google Play. L’app vise la simplicité d’usage, la sobriété en ressources et une meilleure maîtrise de la vie privée. Et un avantage non négligeable : la possibilité de découvrir un monde sans publicité 😅

NewPipe récupère et aggrège du contenu de plusieurs sources différentes : Youtube, Soundcloud, PeerTube, Bandcamp.

Étant une alternative à Youtube, l’application et ses forks sont bien entendus bannis sur PlayStore, ce qui n’empêche pas son installation assez facilement sur un smartphone Android.

Malheureusement l’application n’est pas disponible pour iOS, certainement en grande partie à cause de la difficulté de distribuer une app iOS en dehors de l’AppStore.

Au quotidien, l’application permet de :

  • Regarder des vidéos jusqu’en 4K, y compris des lives.
  • Écouter en arrière-plan pour économiser des données et continuer la lecture même avec son smartphone verrouillé.
  • Mode Picture-in-Picture (lecteur flottant).
  • Rechercher videos, chaines, playlists, commentaires, etc.
  • S’abonner aux chaines sans compte et recevoir des notifications.
  • Gérer des playlists locales et télécharger des contenus (pratique quand on est dans une zone sans internet)

Comment on l’installe ?

Pour les utilisateurs de F-Droid, rien de plus simple : l’application est directement disponible dans le repo de base. Pour les utilisateurs moins habitués à des applications en dehors du store, il suffit de vous rendre, depuis votre smartphone, sur le site officiel de NewPipe et de téléchager le fichier APK (dans la section Get NewPipe). Vous pouvez ensuite installer le fichier en l’ouvrant simplement depuis votre explorateur de fichiers. Si c’est la première fois que vous installez une application hors du store, Android peut vous demander d’autoriser l’installation d’applications provenant de sources inconnues.

Installation de NewPipe

Capture NewPipe 1Capture NewPipe 2Capture NewPipe 3Capture NewPipe 4

Techniquement, ça marche comment ?

Parlons un peu du code

Le projet est ancien, avec un premier commit le 4 septembre 2015. Il s’organise sous forme d’un monolithe Android en un seul module, avec un mix Java (70%) + Kotlin. On retrouve une base de Fragments avec un contrat de vue et un “state management” simple (loading / empty / error). On retrouve aussi une adoption partielle du MVVM sur certains écrans plus récents. Le player intégré à l’app est ExoPlayer et la sauvegarde des données locales se base sur Room.

L’élément le plus intéressant concerne l’extraction du contenu Youtube. L’application s’appuie sur une bibliothèque NewPipeExtractor, développée et maintenue par l’équipe NewPipe, pour récupérer le contenu (URL des vidéos, chaines, commentaires etc). Cette bibliothèque, est chargée de récupérer les informations (et notamment l’URL) pour streamer les vidéos. Il s’agit d’un jeu du chat et de la souris entre la communauté et les équipes de Youtube. NewPipeExtractor joue par exemple avec plusieurs profils clients pour maximiser les chances de reussite et contourner certaines restrictions.

Pour déobfusquer certains éléments nécessaires pour reconstruire les URLs de lecture, NewPipeExtractor utilise le lecteur Javascript officiel de Youtube et finalement reconstitue l’URL de la vidéo à lire.

Concrètement, on en pense quoi ?

NewPipe est une application Android très bien faite et surtout très efficace dans sa promesse : proposer une alternative à l’application Youtube qui soit libre, respectueuse des données, plus sobre dans sa consommation de données. Néanmoins elle reste sujette à un jeu du chat et de la souris avec les équipes de Youtube : à chaque fois que celles-ci proposeront un correctif, cela risque d’avoir un impact sur NewPipe, qui devra alors trouver la parade. Mais je dois dire qu’après plus d’un an d’utilisation, je n’ai jamais rencontré de problèmes bloquant pour le moment. J’apporterais un petit bémol sur l’application AndroidTV, qui est vraiment perfectible, dans la navigation et l’expérience utilisateur globale, mais l’application mobile est une vraie réussite, vous pouvez l’installer les yeux fermés !