{"id":1625,"date":"2021-12-30T00:56:14","date_gmt":"2021-12-29T22:56:14","guid":{"rendered":"https:\/\/www.memoiresecondaire.fr\/?p=1625"},"modified":"2022-01-02T09:29:43","modified_gmt":"2022-01-02T07:29:43","slug":"activer-lacceleration-materielle-pour-jellyfin-sur-un-mele-quieter-2","status":"publish","type":"post","link":"https:\/\/www.memoiresecondaire.fr\/?p=1625","title":{"rendered":"Activer l&rsquo;acc\u00e9l\u00e9ration mat\u00e9rielle pour Jellyfin sur un Mele Quieter 2"},"content":{"rendered":"\n<div class=\"wp-block-image\"><figure class=\"alignright size-full is-resized\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/51141929355_2d42891ec4_z.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/51141929355_2d42891ec4_z.jpg\" alt=\"\" class=\"wp-image-1626\" width=\"417\" height=\"237\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/51141929355_2d42891ec4_z.jpg 640w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/51141929355_2d42891ec4_z-300x171.jpg 300w\" sizes=\"auto, (max-width: 417px) 100vw, 417px\" \/><\/a><\/figure><\/div>\n\n\n\n<p><em>Il y a quelques mois, j&rsquo;ai achet\u00e9 un mini PC Mele Quieter 2. <\/em><\/p>\n\n\n\n<p><em>C&rsquo;est une machine extr\u00eamement compacte, mue par un processeur J4125 de chez Intel, de faible puissance, mais \u00e0 la consommation tr\u00e8s faible aussi, et surtout sans ventilateur donc totalement silencieuse. J&rsquo;y ai install\u00e9 plusieurs services, dont un serveur Jellyfin permettant le partage de vid\u00e9os de famille dans mon r\u00e9seau interne, mais aussi externe pour que mes enfants et moi-m\u00eame puissions y acc\u00e9der de n&rsquo;importe o\u00f9. <\/em><\/p>\n\n\n\n<p><em>J&rsquo;y ai adjoint un disque dur externe de grande capacit\u00e9 branch\u00e9 en USB3, et un ssd Nvme interne de 1\u2009To pour avoir un peu de place, servir de cache et de stockage pour les autres services. <\/em><\/p>\n\n\n\n<p><em>J&rsquo;ai d\u00e9couvert cet appareil gr\u00e2ce au site Minimachine et notamment <a href=\"https:\/\/www.minimachines.net\/actu\/mele-quieter2-98885\">cet article<\/a> dont je remercie chaudement l&rsquo;auteur. <\/em><\/p>\n\n\n\n<p><em>Je ferai sans doute d&rsquo;autres articles sur le sujet, mais aujourd&rsquo;hui je vais me concentrer sur un point en particulier, l&rsquo;acc\u00e9l\u00e9ration mat\u00e9rielle du d\u00e9codage\/encodage de vid\u00e9os. <\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">Jellyfin est tout rouge<\/h2>\n\n\n\n<p>La machine est normalement livr\u00e9e avec Windows 10, mais j&rsquo;ai pr\u00e9f\u00e9r\u00e9 installer une Ubuntu r\u00e9cente. L&rsquo;installation s&rsquo;est d\u00e9roul\u00e9e sans aucun probl\u00e8me, tout le mat\u00e9riel est reconnu et l&rsquo;appareil est \u00e9tonnamment efficace pour toutes les t\u00e2ches que je lui demande d&rsquo;effectuer.<br>Parmi celles-ci, la plus gourmande est sans conteste Jellyfin, et notamment sa fonction de transcodage. <\/p>\n\n\n\n<p><a href=\"https:\/\/jellyfin.org\/\">Jellyfin<\/a> est un serveur de m\u00e9dia open-source, \u00e9quivalent du tr\u00e8s connu Kodi, qui permet de se construire une biblioth\u00e8que de contenu, de l&rsquo;organiser en diff\u00e9rentes m\u00e9diath\u00e8ques et de servir ses fichiers \u00e0, \u00e0 peu pr\u00e8s n&rsquo;importe quoi, du simple navigateur internet, \u00e0 la smart TV, Nvidia Shield, ou t\u00e9l\u00e9phone. <\/p>\n\n\n\n<p>Lorsque le client est capable de d\u00e9coder le flux, ce dernier est transmis directement. Dans le cas contraire, Jellyfin se charge de transcoder le m\u00e9dia \u00e0 la vol\u00e9e. <br>Jusqu&rsquo;\u00e0 peu, tout allait bien, mais r\u00e9cemment j&rsquo;ai r\u00e9cup\u00e9r\u00e9 une vid\u00e9o de vacances encod\u00e9e en 4K avec le format H265. Ce fichier comportait aussi de nombreux sous-titres, ainsi que des pistes audio 7.1.<br>Impossible de le lire sans saccades, coupures et gels de plusieurs dizaines de secondes. <\/p>\n\n\n\n<p>Un <a href=\"https:\/\/github.com\/aristocratos\/btop\">btop <\/a>me montre que le transcodage monte tous les c\u0153urs du CPU \u00e0 pas loin de 100% en permanence.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image.png\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"332\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image.png\" alt=\"\" class=\"wp-image-1627\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image.png 966w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-300x103.png 300w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-768x264.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><\/a><\/figure>\n\n\n\n<p>Je comprends alors que l&rsquo;acc\u00e9l\u00e9ration mat\u00e9rielle n&rsquo;est pas activ\u00e9e. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Acc\u00e9l\u00e9ration mat\u00e9rielle<\/h2>\n\n\n\n<p>Voici donc le r\u00e9sultat de mes recherches. <\/p>\n\n\n\n<p>Le processeur vient avec une partie graphique de chez intel, le UHD 600 :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">orlanth@zeus:~$ sudo lshw -c video<br>*-display<br>description: VGA compatible controller<br>product: GeminiLake [UHD Graphics 600]<br>vendor: Intel Corporation<br>physical id: 2<br>bus info: pci@0000:00:02.0<br>version: 06<br>width: 64 bits<br>clock: 33MHz<br>capabilities: pciexpress msi pm vga_controller bus_master cap_list<br>configuration: driver=i915 latency=0<br>resources: irq:133 memory:a0000000-a0ffffff memory:90000000-9fffffff ioport:f000(size=64) memory:c0000-dffff<\/pre>\n\n\n\n<p>Le driver par d\u00e9faut est le intel-media-va-driver.<\/p>\n\n\n\n<p>J&rsquo;ai vu sur certains sites, que la version non-free est sans doute plus avanc\u00e9e. Je ne suis pas s\u00fbr que cette \u00e9tape soit obligatoire, mais au cas o\u00f9, j&rsquo;installe cette version puis je reboote. <\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">orlanth@zeus:~$ sudo apt search intel-media-va-driver-non-free<\/pre>\n\n\n\n<p>Ayant install\u00e9 Jellyfin via docker (et surtout docker-compose), il faut imp\u00e9rativement passer la carte graphique du syst\u00e8me \u00ab\u00a0r\u00e9el\u00a0\u00bb au syst\u00e8me du docker. <br>Pour cela il faut ajouter quelques lignes au fichier docker compose.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">orlanth@zeus:\/var\/www\/jellyfin$ cat docker-compose.yml\nversion: '3'\nservices:\n  jellyfin:\n    image: jellyfin\/jellyfin\n    container_name: jellyfin\n\n    network_mode: \"host\"\n\n    volumes:\n    - \/home\/orlanth\/.jellyfin:\/config\n    - \/media\/:\/media\n    environment:\n    - PUID=1000\n    - PGID=1000\n    restart: always\n    devices:\n    - \/dev\/dri\/renderD128:\/dev\/dri\/renderD128\n    - \/dev\/dri\/card0:\/dev\/dri\/card0<\/pre>\n\n\n\n<p>Il s&rsquo;agit des 3 derni\u00e8res lignes, devices et les deux devs. <br>Il faut les ajouter telles quelles. <br>Ensuite <em>docker-compose down<\/em> pour arr\u00eater les services et <em>docker-compose up -d<\/em> pour les relancer.<br>On est bon c\u00f4t\u00e9 syst\u00e8me, maintenant il faut l&rsquo;activer c\u00f4t\u00e9 applicatif. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Encore quelques clics<\/h2>\n\n\n\n<p>Dans le tableau de bord de Jellyfin, il faut aller dans <strong>Lecture<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"749\" height=\"397\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-1.png\" alt=\"\" class=\"wp-image-1628\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-1.png 749w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-1-300x159.png 300w\" sizes=\"auto, (max-width: 749px) 100vw, 749px\" \/><\/a><\/figure>\n\n\n\n<p>Puis <strong>Transcodage<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"931\" height=\"637\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-2.png\" alt=\"\" class=\"wp-image-1629\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-2.png 931w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-2-300x205.png 300w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-2-768x525.png 768w\" sizes=\"auto, (max-width: 931px) 100vw, 931px\" \/><\/a><\/figure>\n\n\n\n<p>Dans la liste \u00ab\u00a0Acc\u00e9l\u00e9ration mat\u00e9rielle\u00a0\u00bb, choisir <strong>Video Acceleration API (VAAPI)<\/strong>.<\/p>\n\n\n\n<p>Cocher <strong>HEVC<\/strong> puis descendre jusqu&rsquo;au Profil d&rsquo;encodage.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"183\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-3.png\" alt=\"\" class=\"wp-image-1630\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-3.png 897w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-3-300x61.png 300w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-3-768x157.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/a><\/figure>\n\n\n\n<p>J&rsquo;ai choisi <strong>superfast<\/strong> en me disant que je pouvais me contenter d&rsquo;une qualit\u00e9 moindre, mais je ne sais pas si cela a un gros impact par rapport \u00e0 <strong>fast <\/strong>utilis\u00e9 par d\u00e9faut.<\/p>\n\n\n\n<p>Enfin ne pas oublier de sauvegarder les modifications en cliquant sur le bouton en bas de la page.<\/p>\n\n\n\n<p>Attention \u00e0 ne PAS cocher <strong>Adapter la vitesse du transcodage<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"864\" height=\"208\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-4.png\" alt=\"\" class=\"wp-image-1631\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-4.png 864w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-4-300x72.png 300w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-4-768x185.png 768w\" sizes=\"auto, (max-width: 864px) 100vw, 864px\" \/><\/a><\/figure>\n\n\n\n<p>Je relance la vid\u00e9o et mon btop me montre que cette fois les c\u0153urs du CPU ne montent plus qu&rsquo;\u00e0 25% en moyenne.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"333\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-5.png\" alt=\"\" class=\"wp-image-1632\" srcset=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-5.png 1024w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-5-300x98.png 300w, https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-5-768x250.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p>L&rsquo;acc\u00e9l\u00e9ration est donc bien activ\u00e9e ! <\/p>\n\n\n\n<p>Yeah !<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00c0 suivre<\/h2>\n\n\n\n<p>Si j&rsquo;ai gagn\u00e9 en CPU et en chaleur, ainsi qu&rsquo;en fluidit\u00e9 puisque j&rsquo;arrive \u00e0 lire un peu mieux le fichier, j&rsquo;ai toujours des freezes mais beaucoup moins nombreux et beaucoup plus court. <\/p>\n\n\n\n<p>Du coup, je peux faire deux choses.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-6.png\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"299\" src=\"https:\/\/www.memoiresecondaire.fr\/wp-content\/uploads\/2021\/12\/image-6.png\" alt=\"\" class=\"wp-image-1633\"\/><\/a><\/figure>\n\n\n\n<p>En changeant la qualit\u00e9 pour quelque chose d&rsquo;inf\u00e9rieur au 4K je r\u00e9duis grandement la charge, notamment sur le r\u00e9seau. <\/p>\n\n\n\n<p>Et sinon, je fais comme sur Youtube \u00e0 la grande \u00e9poque des embrouilles avec Free, je lance le film, je mets la pause et j&rsquo;attends une trentaine de secondes que le chargement se fasse, ensuite je suis \u00e0 peu pr\u00e8s tranquille. <\/p>\n\n\n\n<p>En r\u00e9sum\u00e9, je suis toujours tr\u00e8s content, mais je ferai plus attention au format des films de vacances que je peux trouver. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Il y a quelques mois, j&rsquo;ai achet\u00e9 un mini PC Mele Quieter 2. C&rsquo;est une machine extr\u00eamement compacte, mue par un processeur J4125 de chez Intel, de faible puissance, mais \u00e0 la consommation tr\u00e8s faible aussi, et surtout sans ventilateur donc totalement silencieuse. J&rsquo;y ai install\u00e9 plusieurs services, dont un serveur Jellyfin permettant le partage [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[],"class_list":["post-1625","post","type-post","status-publish","format-standard","hentry","category-informatique"],"_links":{"self":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts\/1625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1625"}],"version-history":[{"count":5,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts\/1625\/revisions"}],"predecessor-version":[{"id":1656,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=\/wp\/v2\/posts\/1625\/revisions\/1656"}],"wp:attachment":[{"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.memoiresecondaire.fr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}