Synology ||Tuto|| Installer HandBrake + HW en docker

tony77682

Nouveau membre
4 Juin 2020
28
3
3
Information:
Handbrake est un encodeur vidéo, ce tuto vous explique comment l'installer en DOCKER, le mettre en français et comment activer le transcodage Hardware (HW) si vous le souhaitez.

Pré-requis:
-Un NAS compatible docker. Liste synology: https://www.synology.com/fr-fr/dsm/packages/Docker .
-Le paquet DOCKER doit être installé, via le centre des paquets synology.
-Le paquet éditeur de texte installé sur le NAS.
-Connaître L'ID de l'utilisateur via SSH.
SI vous ne connaissez pas votre ID, suivre le tuto de EVOTk:
(https://www.forum-nas.fr/viewtopic.php?t=13213)

Installation:
1) Création d'un dossier partager docker
-Personnellement pour DOCKER j'utilise un dossier partagé, nommer donc docker, où je crée un sous-dossier pour les différents conteneurs.
-Création du dossier (/volume1/docker/handbrake)

2) Installation du conteneur HandBrake
-Chercher l'image: "jlesage/handbrake" dans le registre DOCKER.
Capture d’écran (49).png


-Une fois l'image télécharger, allez dans Image et Lancer.
Capture d’écran (51).png


-Cocher les cases comme ci-dessous , puis cliquer sur "paramètres avancés".
-Cocher "privilèges élevés uniquement si vous voulez activer le trancodage HW.
Capture d’écran (68).png


-Cocher l'activation de redémarrage aurtomatique.
Capture d’écran (53).png


-Monter les volumes /storage ; /output ; /watch ; /config .
Capture d’écran (54).png


-Remplir les ports locaux comme ci-dessous:
Capture d’écran (55).png


-Pour mettre en français (LANG = fr_FR.UTF-8)
Remplir USER_ID et GROUP_ID correspondant à votre ID utilisateur.
Capture d’écran (56).png


-Vous pouvez lancer le conteneur.
Capture d’écran (57).png

La suite n'est pas obligatoire, à vous de voir si vous souhaitez activer le transcodage Hardware.
3) Modification du fichier JSON pour activer le transcodage Hardware
- Sélectionner le conteneur et exporte le fichier dans un dossier du NAS.
Capture d’écran (58).png
Capture d’écran (59).png


- Arrêter le conteneur et on le SUPPRIME.
Capture d’écran (60).png
Capture d’écran (61).png


-Ouvrir le fichier JSON avec l'éditeur de texte du NAS.
Remplacer la ligne 6
"devices" : null,
par
"devices" : "/dev/dri : /dev/dri",

Capture d’écran (62).png
Capture d’écran (63).png

4) Création tâche de démarrage pour charger les pilotes INTEL au demarrage du NAS.
-Ouvrir le panneau de configuration/planificateur de tâches
-Créer une tâche planifiée avec le script suivant :

#!/bin/bash
modprobe i915
sleep 4
chown -R nobody:users /dev/dri
chmod -R 777 /dev/dri
exit

Capture d’écran (65).png
Capture d’écran (64).png


5)Lancement du conteneur HandBrake
-Voilà une fois connecté à HandBrake (http://IPduNAS:5800)
-Vous pouvez voir dans l'onglet vidéo/encodeur vidéo, apparaître H.264 Intel QSV qui correspond à l'encodage Hardware.
Capture d’écran (67).png
 
  • J'aime
Réactions: Minuit
Merci j'essai d'être le plus simple, en me mettant dans la tête d'une personne qui ne maîtrise pas trop et qui veux ce lancer.
 
Hello,

Pour ma part, j'ai un petit problème, mon conteneur reboot en boucle ...
J'ai refais la procédure mais pareil.

Est-ce mon id de groupe (101(administrators)) qu'il n'aimerais pas ?
 
alors plusieurs piste à vérifier:
- Quel model de NAS tu as? sur qu'il est compatible niveau processeur?
-Tu coche bien avec privilège élevé?
-Pour le PGID essais: 100
 
J'ai un 218+ (j'ai rajouté 4go de ram)
J'ai bien coché privilège élevé
Et malheureusement le PGID 100 n'a rien changé

Après j'ai déjà fait tourner des containers sans soucis sur le nas
 
hummm ok!
j'ai une autre idée en tête, est-ce que tu as déjà le activé le transcodage HW dans PLEX par exemple ?
 
J'ai mis ca dans un fichier texte :

https://docs.google.com/document/d/1zjfhI1xSm8rjm59ptg-2Jab4NHpc3bkCDeuSgm-6GxA/edit?usp=sharing
 
Salut;

Voici ce qu'il contient :
hJmPN5e.png


Ton dossier dev/dri existe bien ?
l'utilisateur a t'il bien les permissions de l'utiliser ? ( chmod 666 par exemple )
 
EVOTk a dit:
Salut;

Voici ce qu'il contient :
hJmPN5e.png


Ton dossier dev/dri existe bien ?
l'utilisateur a t'il bien les permissions de l'utiliser ? ( chmod 666 par exemple )

Tout bêtement, quand tu créer la tâche de demarrage, si tu ne redémarre pas le NAS il faut la lancer manuellement!
 
Je viens de comprendre ...

J'ai oublié cette partie :
4) Création tâche de démarrage pour charger les pilotes INTEL au demarrage du NAS.

... et maintenant comme par magie ça fonctionne mieux !

Un grand merci EVOTk et tony77682
 
Bonjour à tous!

Tout d'abord merci pour le tuto détaillé, c'est top de voir ça.

je déterre ce post car j'ai une question!
Sous DSM 7.2 et handbrake dernière version à ce jour (HandBrake v1.7.1 ; Docker Image v23.11.4), le fichier json a légèrement changé. Il n'y a plus la ligne "devices": null
Capture d'écran 2023-11-24 215729.png

J'ai créé la tâche de démarrage pour charger les pilotes intel (j'ai un ds423+ avec celeron j4125) et je retrouve bien l'option de conversion H265 QSV quand je me rend sur l'interface utilisateur:
Capture d'écran 2023-11-24 213759.png
Cela me sort un fichier que je peux lire, au format m4v et visiblement pas le choix d'un mkv ou autre.

Est ce qu'il y a toujours besoin de modifier le fichier json ou est ce que l'accélération matérielle est prise en charge nativement?
J'ai lancé une conversion pour essayer, mon CPU tourne à environ 80% durant la durée de la conversion, avec un débit d'un peu plus de 50 images par secondes. Un moyen de vérifier que l'igpu joue bien son rôle?

Merci d'avance pour vos réponses!
 
J'avais un petit peu oublié ce post, qui a eu lieu un petit peu avant un déménagement, et donc j'ai résolu mon problème. Peut être cela en aidera certains qui comme moi sont en plein apprentissage.

Tout marchait bien!
j'ai sauté l'étape 3) pour faire la 4) directement et j'ai bien Intel QSV disponible dans Handbrake, donc avec l'IGPU.
Après quelques essais de configuration pour le transcodage, ça marche a merveille dans le format desiré (Intel QSV, h265 10bit vers un conteneur .mkv)

Donc l'étape 3), modification du fichier .json ne semble plus nécessaire.

Encore merci pour le tuto, ça m a été très utile pour compresser des vidéos GoPro très gourmandes en espace