Jellyfin, le media center dont tout le monde parle

Au début, il y avait XMBC devenu Kodi par la suite. En parallèle, Plex s’est développé (basé sur XBMC à l’origine) puis un nouvel acteur est arrivé Emby. Ce dernier était 100% Open Source. Malheureusement (ou naturellement), il a glissé vers un modèle économique par abonnements comme Plex (en moins cher) avec une partie gratuite et limitée. C’est à partir de la dernière version Open Source que Jellyfin est né d’avoir une solution 100% gratuite pour tous. Il fonctionne sous Windows, macOS et Linux… et il est même possible de le faire tourner dans Docker (oui, même sur un NAS).

Jellyfin sur un NAS Synology (Docker)

Jellyfin (Emby Open Source)

Jellyfin est un serveur multimédia, lancé suite à la décision d’Emby de ne plus rendre leur code Open Source. Jellyfin a été lancé en décembre 2018 à partir de la dernière version Open Source d’Emby 3.5.2. C’est une alternative logicielle libre et gratuite à Emby et Plex. Comme ses camarades, Jellyfin va scanner vos répertoires contenant Films, Séries TV et Chansons… pour les organiser dans une interface design (jaquette, synopsis…) et facile d’utilisation. C’est la partie serveur de gestion de la bibliothèque multimédia.

Serveur plus, plus…

Jellyfin permet également de regarder la TV en direct (ou de l’enregistrer) grâce à l’ajout d’un boîtier HDHomeRun 😉 Mais ce n’est pas tout ! Plusieurs plug-ins (extensions) existent ce qui permet d’ajouter d’autres fonctionnalités à Jellyfin : IPTV, authentification LDAP, téléchargement automatique de sous-titre, gestion Trakt, notification Pushbullet ou par mail, etc. La liste complète est accessible à cette adresse… Il existe même une extension Kodi ! Vous pouvez télécharger Jellyfin directement depuis cette adresse : Docker (pour les NAS par exemple), Debian/Ubuntu, Arch Linux, Fedora/CentOS, Generic Linux (.tar.gz), macOS, Windows (dont une version portable). Pas mal, non ? A noter que Qoolbox sur le Forum a porté une version pour les NAS QNAP (disponible ici)…

Transcodage

Comme pour Plex ou encore Emby, vous savez que le transcodage est parfois nécessaire. Pour rappel, si le périphérique (client) sur lequel vous souhaitez lire votre vidéo n’est pas compatible avec le format stocké (serveur)… alors il y a une transformation à la volée. C’est ce que l’on appelle le transcodage. Ce dernier nécessite, pas mal de ressources (processeur et mémoire vive). L’avantage de Jellyfin, c’est qu’il est possible de profiter de l’accélération matérielle VAAPI (Video Acceleration API) et NVENC (Nvidia Video ENCoding).

Détail d’un film en français

De nombreux NAS sont dotés d’un processeur compatible VAAPI. Cela permet de réduire la charge du processeur notamment lorsqu’il faut transcoder une vidéo UltraHD/4K. Pour en savoir plus, rendez-vous sur cette page

Clients

On a vu la partie Serveur… regardons d’un peu plus près la partie Client. Tout d’abord, il sera possible de lire les fichiers depuis n’importe ordinateur (via votre navigateur Web préféré), avec une application pour Smartphone et Tablette (Android et iOS) même depuis l’extérieur via Internet. Mais tout n’est pas rose… non. Il est très facile de trouver l’application Android depuis le Play Store (compatible smartphone, tablette ou TV). Jellyfin fonctionne aussi très bien avec Chromecast. Toutefois, comme le projet n’a qu’un an… il reste beaucoup de choses à faire. C’est-à-dire que pour iOS ou tvOS, il faudra attendre encore un peu, ou pour les plus pressés passer par TestFlight pour la Bêta. Une version Roku devrait arriver prochainement, ainsi qu’une application WebOS pour les TV LG.

A tester ou à suivre de près, l’année 2020 devrait apporter de nombreuses nouveautés à Jellyfin.

Pour en savoir plus, rendez-vous sur le site officiel

  1. Dommage que la partie transcode soit si approximative et moins bien réalisé que plex ?

    Et dommage que ça soit un gros soft monolithique, même si ça c’est plus la faute de Emby…

  2. Depuis la 10.3.7, difficile de voir des évolutions positives, on a notamment perdu le transcodage hardware du HEVC 10bits, ce qui devrait être normalement corrigé dans la prochaine version 10.4.4 qui tarde à arriver…
    J’ai l’impression que l’équipe Jellyfin est assez réduite et peine un peu face à la charge de travail et le lourd héritage d’Emby, comme évoqué par Maxou44; mais la communauté est là, contribue à améliorer les choses et ce soft mérite d’être essayé, en gardant à l’esprit qu’on est plus proche d’une beta que d’un soft 100% fonctionnel comme Plex ou Emby.
    Il manque tout de même des versions nightly du container docker, car les versions sont assez espacées et des correctifs importants mettent des plombent à arriver.

    1. Ça reste basé sur les technos pas les plus adaptés pour faire ça… Ça pourrait être 1000 fois plus performant avec les bonnes technos et 1000 fois plus evolutif.

      1. Les technos, c’est en gros du C#, ffmpeg (qui est la référence et utilisé également par Plex) et du JS coté client web.

        Après, pour les clients spécifiques, je sais que Cordova est pas mal utilisé car c’était ce qui était utilisé par Emby et on a pas trop le choix, pour l’instant.
        Pour iOS, le client utilise Expo.

        Le gros gros soucis du projet, c’est que le code source de Emby était vraiment dégueulasse, en partie à cause du peu de respect qu’avait ce projet pour la GPL avant de passer en proprio (En violant bien la GPL au passage pendant plusieurs mois).

        Le projet Jellyfin en soi n’a qu’un an, et l’équipe a déjà pas mal fait de nettoyage. Malheureusement, on est pas énormément de contributeurs, du coup les gros chantiers prennent du temps. Y a encore énormément de nettoyage à faire, partout dans le code.

        Pour ma part, je ne peux parler que pour le client web, vu que c’est sur cette partie là que je passe mon temps libre pour l’instant.
        En cours sur le client web, pour l’instant, on a:
        – Un passage vers Webpack pour profiter de Babel et d’autres outils
        – Gros nettoyage du CSS et du JS
        – Passage de RequireJS à des modules ES6
        – Passage à Shaka-Player
        – Mieux supporter pas mal de browsers legacy (Surtout pour les apps SmartTV, pour lesquels les versions embarquées de Chrome ou Webkit sont parfois antiques)
        – Modernisation globale des technologies

        Coté serveur, il me semble qu’il y a des gros chantiers aussi, mais je ne peux pas vraiment donner de détails.
        Globalement, l’équipe et les contributeurs sont assez partants pour les nouvelles technologies et les gros nettoyages, tant que la personne qui propose s’en charge ou fait une bonne partie du boulot. Mais je pense que tout le monde est ouvert aux suggestions également, donc n’hésite pas à rejoindre le canal Matrix 🙂

    2. Hello !

      Pour le bug, il me semble que c’est déjà mergé en master. Ça arrive dés que la prochaine version est publiée 🙂

      Pour l’équipe, nous sommes assez peu de contributeurs en effet. Le projet peut un peu faire peur, mais pour y être entré récemment (sur le client web), c’est tout à fait abordable, et toutes les personnes présentes sur les salles de discussion Matrix sont généralement prête à aiguiller et aider si besoin.

      On se tape énormément de trucs qui n’ont aucun sens et qui viennent d’Emby, mais les travaux de nettoyage continuent.
      En effet, il manquait plusieurs fichiers dans les sources de Emby (Le projet violait allégrement la GPL avant de passer en propriétaire) et le style de code est assez dégueulasse. Cela dit, ça se nettoie doucement et on a pour projet d’adopter quelques technos plus récentes, coté client web, du moins (Je ne peux parler pour le coté serveur, je bosse uniquement en frontend).

      Sinon, c’est en effet plus proche d’une Beta que d’un truc réellement professionnel, pour l’instant.

      Pour les versions nightly, théoriquement on en a. Il me semble qu’il y a du boulot actuellement sur les conteneurs Docker nightly qui étaient pétés à cause de ARM (J’ai pas plus de détails, c’est juste ce que j’ai vu passer).
      Mais les builds nightly devraient se résumer bientôt, pour Docker du moins.

      1. Merci beaucoup pour ce regard éclairant depuis l’intérieur du projet et ses grandes lignes d’orientation du moment.
        j’avais découvert Emby au moment de l’explosion de l’équipe et ses règlements de compte par forums interposés à cause de l’abandon unilatéral du modèle GPL. S’en était suivi un docker pirate d’Emby avant l’apparition de Jellyfin… Une naissance chaotique sur des bases bordéliques ne pouvaient accoucher d’un projet parfait dès le début, c’est certain 😀

        n’ayant aucune compétence pour coder, en dehors de bidouiller wordpress avec des tutos en ligne, je ne peux que tester et faire remonter les bugs rencontrés, comme un end user de base qui ne s’exprime que pour râler lorsque quelque chose ne fonctionne pas… Mille mercis donc à toi de participer à l’évolution de ce chouette logiciel 🙂
        Personnellement, le jour ou le transcodage hardware fonctionne parfaitement et que l’infinite scrolling est intégré, j’abandonnerai Plex sans regrets.Pour le moment, La gestion par pages de 100 éléments d’une grande musicothèque est vraiment trop pénible. J’avais bidouillé pour passer à plus mais c’est à refaire à chaque nouvelle version et ne constitue qu’un pis-aller. Je sais que cette méthode de navigation fait débat mais pour moi elle est indispensable et mériterait au moins d’être intégrée en option, même si c’est beaucoup de boulot.
        En point positif, la gestion d’EPG est bien meilleure sous Jellyfin que sur Plex qui ne gère même pas le RTSP des chaînes Freebox, par exemple, ce qui en fait un media center bien plus complet pour qui souhaite également y centraliser ses enregistrements TV.
        Encore merci et à bientôt dans le « Issues » du github 🙂

        1. Merci à toi de remonter les bugs 🙂 Tant que les gens râlent en étant constructifs et en faisant des issues, c’est apprécié 🙂
          Et si jamais, il y a toujours possibilité de contribuer des traductions, de la documentation, etc. Pas forcément obligé d’être développeur 😉

          Pour l’infinite scrolling, je suis complètement d’accord ! J’ai déjà vu des issues passer à ce sujet et des discussions internes. C’est prévu… quand quelqu’un à le temps 🙂

          Pour le transcodage hardware, en principe ça doit fonctionner. Le direct play, par contre, ne fonctionne pas encore partout correctement. On est entrain de revoir les différents profils de navigateurs et l’appli Android/Android TV est en passe de support ExoPlayer, qui devrait pouvoir lire nativement la 4K HDR.
          Pour le desktop, y a un client Electron sur lequel il est prévu de taper un lecteur MPV pour éviter +/- complètement le transcodage 🙂

  3. mouai en media venter le fait d’avoir un serveur sur un vrai n’as ok

    mais un box Android avec Kodi et ses fichiers sur un nas Freebox donc sans serveur fonctionne très bien aussi

  4. Adopté l’automne dernier suite à la suppression du support de Trakt.tv dans Plex. On utilise Kodi la plupart du temps, mais occasionnellement Plex. On regarde nos séries & films depuis au moins 2 endroits, et je me basais dessus pour synchro entre les différentes instances.

    L’intégration Kodi est nickel, très propre. Installation sur mon NAS (maison, sur ubuntu) via Docker nickel, aucun problème.

    Même s’il va rester du travail, strictement aucune envie de revenir en arrière (e.g. accès direct aux fichiers via CIFS depuis des instances de Kodi). Jellyfin m’apporte ce que seul Plex me donnait vraiment (séparation serveur / client), tout en étant opensource.

  5. Mais je dirais, quid de l’intêret du transcodage 4K quand on se fait un serveur emby/plex/jellyfin en local, quand on peut tout simplement lire en direct à partir de n’importe quel lecteur (sous réserve que le matériel prennent en charge la 4K)

    J’ai du mal à saisir l’engouement de se faire un serveur perso à la maison pour finalement aller transcoder de la 4K en 1080P ? j’ai une mi box 4s qui lit du 4K qui pèse 70 GO avec VLC sans aucuns problèmes, alors que jellyfin ou plex n’arrive même pas à transcoder un flux 4K qui pèse 4 fois moins sur mon réseau (filaire gigabit je précise). La seule utilisation que j’en ai, c’est le stream pour ma musique sur mes équipements nomades.

  6. Bonjour,

    Tout a fait d’accord avec bobaxx, en local just pouvoir utiliser Jellyfin comme une vidéothèque avec une belle interface pour lire les fichiers d’origine sans transcodage inutile (par bien sur des appareils pouvant lire ces médias en direct, c’est à 99% le cas de nos jours)..

  7. Hello à tous,

    Je viens de prendre la dernière version pour Docker Synology, interface sympa et personnalisante chapeau les gars bravo, par contre comment lire nativement les fichiers 4K HEVC sans transcodage, c’est dommage

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.