Qnap Saturation du CPU transcodage PLEX

evilclem

Nouveau membre
8 Janvier 2023
15
2
3
Bonjour !

Cela fait un petit moment que j'ai une installation plex sur mon serveur QNAP, et j'ai remarqué qu'à chaque fois qu'un utilisateur ne visionne pas en qualité originale un fichier vidéo (qu'il transcode donc), l'utilisation du CPU par Plex devient démesurément élevée. Alors en somme par de problème de performances, simplement le ventilateur du NAS s'affole, mais je pense que garder un CPU à 100% constamment n'est pas une bonne chose...

J'ai pourtant bien activé l'accélération matérielle (avec un matériel compatible évidemment : TS-453D) et un abonnement Plex Pass.

Je fais tourner tout cela dans du docker compose, je vous mets des captures d'écran de tout ce qui pourrait être utile à la compréhension du problème.

Est-ce que quelqu'un aurait déjà rencontré un problème similaire ?
 

Pièces jointes

  • Capture d’écran 2024-04-25 à 09.43.37.png
    Capture d’écran 2024-04-25 à 09.43.37.png
    1.6 MB · Affichages: 3
  • Capture d’écran 2024-04-25 à 09.43.49.png
    Capture d’écran 2024-04-25 à 09.43.49.png
    1.7 MB · Affichages: 2
  • Capture d’écran 2024-04-25 à 09.44.02.png
    Capture d’écran 2024-04-25 à 09.44.02.png
    507.4 KB · Affichages: 3
  • Capture d’écran 2024-04-25 à 09.53.07.png
    Capture d’écran 2024-04-25 à 09.53.07.png
    195.3 KB · Affichages: 3
Effectivement, pas de transcodage matériel, lors de la lecture d'un film il n'indique pas "hw"...

En somme plex ne se sert pas de l'IGPU intégré au NAS
 

Pièces jointes

  • Capture d’écran 2024-04-25 à 13.08.27.png
    Capture d’écran 2024-04-25 à 13.08.27.png
    78.2 KB · Affichages: 2
Dernière édition:
J'avance à tâtons...
J'ai ajoute là ligne suivante sur mon docker compose et maintenant le iGPU semble être détecté par Plex mais n'est toujours pas utilisé lors du transcodage.
Code:
devices:
      - /dev/dri

De plus Plex indique également au démarrage ceci :
Code:
[cont-init.d] 45-plex-hw-transcode-and-connected-tuner: executing...
[cont-init.d] 45-plex-hw-transcode-and-connected-tuner: exited 0.

Et j'ai aussi cette erreur dans les logs plex lors de la lecture d'un fichier transcode, un problème de permission ?
Code:
 No VA display found for device /dev/dri/renderD128
 

Pièces jointes

  • Capture d’écran 2024-04-25 à 13.41.51.png
    Capture d’écran 2024-04-25 à 13.41.51.png
    70.6 KB · Affichages: 1
Dernière édition:
Salut,
Tu as déclaré quel utilisateur dans ton compose ?

regarde a qui appartient /dev/dri :

Code:
ls -alh /dev/dri
 
Salut,
Tu as déclaré quel utilisateur dans ton compose ?

regarde a qui appartient /dev/dri :

Code:
ls -alh /dev/dri
Par utilisateur déclaré tu entends PUID et PGID ?

Et pour l'appartenance de /dev/dri j'ai ceci en retour :

Code:
total 0
drwxr-xr-x  2 admin administrators       80 2024-04-25 13:08 ./
drwxr-xr-x 16 admin administrators      20K 2024-04-25 11:14 ../
crw-------  1 admin administrators 226,   0 2024-04-25 13:08 card0
crw-------  1 admin administrators 226, 128 2024-04-25 13:08 renderD128
 
Essaye de changer les permissions du dossier :

Code:
chmod -R 666 /dev/dri

Redémarre Plex, et essaye
 
Essaye de changer les permissions du dossier :

Code:
chmod -R 666 /dev/dri

Redémarre Plex, et essaye
ça m'a cassé les permissions j'ai l'impression, avec la commande que tu m'avais donné initialement et après avoir exécuté ton chmod j'obtiens ceci :
+ pas de changement côté transcodage plex


Code:
[clem@Nestor dri]$ ls -alh /dev/dri      
/bin/ls: cannot access /dev/dri/.: Permission denied
/bin/ls: cannot access /dev/dri/..: Permission denied
/bin/ls: cannot access /dev/dri/card0: Permission denied
/bin/ls: cannot access /dev/dri/renderD128: Permission denied
total 0
d????????? ? ? ? ?                ? ./
d????????? ? ? ? ?                ? ../
c????????? ? ? ? ?                ? card0
c????????? ? ? ? ?                ? renderD128
 
Il faut etre administrateur pour cette commande.

prend les droits admin avec la commande :
Code:
sudo -i

Puis corrige les appartenances :
Code:
chown -R admin:administrators /dev/dri

Ensuite, essaye d'appliquer :

Code:
chmod 666 /dev/dri
Code:
chmod 666 /dev/dri/renderD128
Code:
chmod 666 /dev/dri/card0
 
Il faut etre administrateur pour cette commande.

prend les droits admin avec la commande :
Code:
sudo -i

Puis corrige les appartenances :
Code:
chown -R admin:administrators /dev/dri

Ensuite, essaye d'appliquer :

Code:
chmod 666 /dev/dri
Code:
chmod 666 /dev/dri/renderD128
Code:
chmod 666 /dev/dri/card0
On avance...
Les permissions ont bien changé, comme en témoigne ceci :
Code:
[admin@Nestor dri]# ls -alh /dev/dri                    
total 0
drw-rw-rw-  2 admin administrators       80 2024-04-25 13:08 ./
drwxr-xr-x 16 admin administrators      20K 2024-04-25 11:14 ../
crw-rw-rw-  1 admin administrators 226,   0 2024-04-25 13:08 card0
crw-rw-rw-  1 admin administrators 226, 128 2024-04-25 13:08 renderD128

Mais du côté du transcodage plex toujours pas de hardware à l'horizon. Dans la console plex j'obtiens ceci comme erreurs :

Code:
[Req#774/Transcode] [FFMPEG] - Cannot load libcuda.so.1
[Req#774/Transcode] [FFMPEG] - Could not dynamically load CUDA
[Req#774/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Operation not permitted
[Req#774/Transcode] Could not create hardware context for h264

Toujours un problème de permission semblerait-il ?
 
Visiblement,
essaye le 777 :

Code:
chmod 777 /dev/dri
Code:
chmod 777 /dev/dri/renderD128
Code:
chmod 777 /dev/dri/card0
Cela ne fonctionnait pas juste avec le chmod 777, j'ai été voir sur un autre forum (lien) et j'ai trouvé que le gars avait ajouté ceci à son docker compose :

Code:
    devices:
      - /dev/dri/card0:/dev/dri/card0
      - /dev/dri/renderD128:/dev/dri/renderD128
    privileged: true

Cela fonctionne désormais !

Une dernière question, j'ai vu que dans ton tuto tu avais indiqué qu'il fallait créer un fichier se lançant à chaque fois pour redonner les permissions au dossier. Est-ce nécessaire dans mon cas ?
 
Redémarre le nas pour voir si les modifications sont persistante, si c'est pas le cas alors pour pas mettre embêté il sera préférable de faire un petit script 😄
 
Redémarre le nas pour voir si les modifications sont persistante, si c'est pas le cas alors pour pas mettre embêté il sera préférable de faire un petit script 😄
Je regarderai ça plus tard, en tout cas merci beaucoup pour le coup de main !
 
  • J'aime
Réactions: EVO