Youtube-dl sur un NAS Synology, c’est possible !

closeCet article a été publié il y a 4 ans 26 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

En partant chez ma mère pour mieux vivre le confinement prolongé qui se profile devant nous, j’ai embarqué son NAS trop longtemps en maintenance avec un disque dur neuf pour le remettre en service. Et parmi ce que j’ai prévu de lui faire faire, il y a la même chose que chez moi, sauf que le Download Station embarqué ne sait plus récupérer les vidéos sur YouTube. Qu’à cela ne tienne il y a une solution !

Le NAS

Le NAS est un ancien Synology DS215j. C’est un modèle pouvant accueillir deux disques, avec un processeur Armada 375 plus que poussif, et un système d’exploitation basé sur Linux mais avec une interface web de gestion qui est d’une lenteur hallucinante. Je l’avais acheté après la mort de mon serveur perso monté avec des composants d’occasion qui est en fait toujours en vie, seulement un des disques était mort, mais je n’avais pas eu suffisamment confiance pour relancer cette machine dont la consommation ne me convenait plus.

Ce NAS était équipé de deux disques de 2To, configurés en SHR, parce que Synology ne pose pas la question à l’installation et utilise son RAID maison. Déjà ça m’avait gonflé, et à l’époque je n’avais pas plus creusé que ça et je l’avais laissé en l’état. Mais avec la saturation des disques, et leur âge grandissant couplé au bruit plus important de leur mécanique, je l’avais embarqué pour lui refaire une santé et une upgrade de disque.

Cette période de maintenance s’est donc terminée avec la remise en service sur un unique disque dur de 4To, le seul en état de marche à disposition, qui était destiné à mon propre NAS, qui pourra attendre pendant mon absence.

DSM 6 sur ce NAS, c’est l’enfer

Et c’est peu de le dire. Si visuellement peu de choses ont changé dans l’interface du système d’exploitation de Synology, la gourmandise en performance est là : la moindre action fait grimper le CPU dans les tours, un simple listing des trois pauvres dossiers partagés créés suffit, c’est bien simple, chaque action prend plusieurs secondes pour voir son résultat. Et ce n’est pas que côté serveur, le navigateur en prend aussi pour son grade, je ne sais pas avec quels pieds de lépreux l’interface a été codée, mais c’est une catastrophe.

Malgré tout, les fonctionnalités sont là, à part que le Download Station ne sait plus récupérer les vidéos YouTube. Apparemment il ne repose pas sur youtube-dl comme Takeasy sur Asustor (mais qui n’a pas été mis à jour depuis plus d’un mois, ce qui fait que certains sites auparavant supportés ne fonctionnent plus).

« Oh mais y’a Python 3 ! »

La lumière au bout du tunnel 🙂 En effet, dans le gestionnaire de paquets de DSM, il est possible d’installer Python 3, en pus de Python 2 qui est déjà installé. L’installation via l’interface est simple, comme n’importe quel paquet. Reste ensuite à activer SSH et les home directory, pour ensuite se connecter à son compte en ligne de commande.

Youtube-dl s’installe via pip. Mais par défaut, pip ne semble pas disponible. Arf. Mais c’est partiellement faux. De toute façon, pour tout projet qui nécessite d’utiliser pip, il est recommandé de passer par un virtualenv, un environnement virtuel adapté à un projet en particulier. Et ça tombe bien, python 3 permet d’en créer d’une manière particulièrement simple :

Et hop, quelques longues secondes après, on a un dossier yt qui contient notre virtualenv :

Ensuite on l’active comme n’importe quel venv :

Notez le petit (yt) qui permet de visualiser qu’on est dans un virtualenv python. Et surprise, pip est bien présent ! Par contre il sent fort la napthaline. On va donc en profiter pour le mettre à jour, et tenter d’installer youtube-dl :

Eh ben, ça semble parfait ! Il faut juste s’assurer d’un dernier détail. En effet, sur plusieurs sites pratiquant le HLS ou le DASH, la vidéo et l’audio sont séparés en flux distincts, et youtube-dl a l’habitude d’utiliser ffmpeg pour recoller les morceaux :

Cool 🙂 Je ne sais par contre pas si c’est installé de base sur le NAS, ou si ça provient d’un autre paquet comme le serveur multimédia, installé afin de fournir du DLNA au lecteur Bluray, et qui a une option de transcodage vidéo, d’où le recours potentiel à ffmpeg. Dans le doute, vous pourrez vérifier par vous-même, moi c’est déjà installé et configuré je touche plus à rien.

Le problème de l’indexation multimédia

Eh oui, si ce n’est pas une astuce en vrac, c’est pas juste pour pouvoir vous faire l’historique du NAS et une critique de ses performances, vous le voyez à la simplicité ça aurait pu tenir en un seul paragraphe ou presque. Quand on télécharge un fichier avec Download Station, ou qu’on pousse un fichier par SMB (le partage réseau), le fichier est presque immédiatement disponible pour le lecteur Bluray. Malheureusement, pour une raison que j’ignore, ce n’est pas le cas pour les vidéos récupérées par youtube-dl, et de mémoire les vidéos poussées via rsync/ssh non plus.

Il faut donc, dans ce cas, forcer une réindexation qui va prendre plus ou moins de temps en fonction de la taille de la bibliothèque, et qui se déclenche avec la commande suivante :

Bon après, l’interface du lecteur Bluray LG est une honte et le rafraîchissement provoque une erreur qui demande de retourner à l’accueil pour refaire tout le chemin vers le dossier voulu. Mais ça fonctionne 🙂

Les NAS maison me manquent (et les vrais lecteurs multimedia aussi)

J’avoue, entre la puissance famélique, l’indexation sélective, et l’interface pénible du bluray, je regrette vraiment OpenMediaVault, minidlna et Kodi. Disposer d’un lecteur Bluray disposant d’une interface aussi propre que Kodi est illusoire, ne serait-ce que parce que ce dernier ne dispose pas de toutes les technologies pour lire des bluray pourris par des DRM qui imposent de payer des licences à sept chiffres, dont on devrait pourtant avoir les clés pour des raisons d’interopérabilité. VLC s’y est cassé les dents, notamment grâce aux pressions de Sony qui se gave en licences, et rien n’a bougé depuis (il faut dire que le marché stagne, voire baisse quand la VOD en streaming explose, donc sont pas pressés de filer les clés de la bagnole). Mon raspberry Pi sous LibreELEC me donne toujours entière satisfaction, sauf pour le plugin YouTube qui m’a poussé à me tourner vers d’autres solutions.

Quant à Openmediavault, le projet est toujours maintenu et toujours aussi intéressant, le problème, c’est que le matériel pour le faire tourner sera forcément plus volumineux, consommateur de ressources, et potentiellement beaucoup plus cher. Même si en termes de consommation on sera proche avec mon microserveur, atteindre un tarif de 180€ pour la base sans les disques relève du miracle, puisque c’est juste le prix de la carte mère avec CPU soudé sans la RAM, sans le boitier, sans l’alimentation, autant d’éléments inclus pour le prix. Avec un CPU x86 toutefois, on aurait accès à beaucoup plus de puissance et d’usages, ce que j’avais fini par faire à l’époque sur mon NAS maison, avec l’ajout d’une machine virtuelle en plus du reste.La problématique du CPU dans les NAS a parfaitement été analysée par David, je vous laisse lire son dossier si vous souhaitez creuser le sujet. Minidlna fonctionne quelque soit la méthode pour ajouter un fichier, puisque c’est le noyau et uniquement lui qui prévenait de l’arrivée d’un fichier, peu importe qu’il soit déposé via une application, un partage réseau, un transfert SSH.

Bref, comme trop souvent avec l’informatique, la liberté et le confort ont un prix, et pour les usages de ma mère, la liberté et la performance ne sont pas des priorités absolues, donc on va s’en contenter. Par contre, son lecteur Bluray/home cinema donne quelques signes de fatigue, et ça coûte cher à remplacer, j’espère que ça tiendra encore quelques années.

6 Commentaires
Le plus ancien
Le plus récent
Commentaires en ligne
Afficher tous les commentaires
Sly
Sly
25/03/2020 20:07

Bizarre avec dl station sur mon Synology j ai télécharger des vidéo sur Youtube

Antoine
Antoine
26/03/2020 17:55

Salut, quand tu parles « d’autres solutions » pour le plugin youtube de kodi, pourrais-tu développer ? J’utilise Batocera pour du retrogaming detente + integration de kodi. L’acces a youtube manque depuis que le plugin ne fonctionne plus. J’ai testé la methode des « api keys » sans succes et je trouve chiant de casté les videos.

Antoine
Antoine
27/03/2020 15:39
Répondre à  Seboss666

OK, je l’utilise plutôt sur mon PC pour récupérer des vidéos musicales que je convertis en mp3. La qualité est suffisante pour écouter sur mon enceinte bluetooth de 3W quand je travaille seul sur l’exploitation agricole. Par contre la version 6.7 du plugin youtube de kodi est sortie. En suivant les instructions de cette page : https://github.com/jdf76/plugin.video.youtube/wiki/Personal-API-Keys, le plugin est de nouveau fonctionnel, pour le moment.

Shikiryu
Shikiryu
10/04/2020 17:28

Hello, Je suis tombé sur votre poste dans mes flux RSS et comme j’utilise aussi Youtube-dl sur mon Synology DS215j. Personnellement, j’ai totalement désactivé l’indexation sur mon Syno, j’en ai pas besoin et ça prenait beaucoup trop de resources pour ce modèle. Par contre, j’ai activé le logiciel de « chat » du Syno (où je suis tout seul) et j’ai installé un bot qui sert d’interface de téléchargement (grosso modo, je lui dis « télécharge cette vidéo youtube » et il lance la commande qui va bien avec youtube-dl. J’héberge son code source ici : https://git.shikiryu.com/Shikiryu/Alfred si besoin, il est pas totalement finit… Lire la suite »