Je viens d’installer Plex et MCEBuddy sur un processeur AMD Ryzen 16 cœurs, et il se traîne à 8 connexions simultanées. En observant le processeur avec Process Lasso, il est utilisé à moins de 50 %, parfois aussi bas que 20 % et jusqu’à 55 % occasionnellement. Y a-t-il une raison pour laquelle je ne peux pas faire plus de conversions simultanées ou est-ce simplement une limitation de l’interface graphique ?
La machine possède un SSD Samsung M.2, et il atteint 350 mégaoctets par seconde en interne lors de la génération du fichier de sortie, mais cela ne dure qu’environ une seconde. Les 16 Go de RAM ne sont utilisés qu’à environ 40 %, donc la machine a facilement le double de la bande passante pour le traitement, autant que je puisse en juger.
Juste l’interface graphique, mais je peux vous dire tout de suite que quelque chose ne va pas. 8 conversions simultanées peuvent saturer même les plus gros systèmes avec les plus grosses cartes graphiques que nous ayons vues.
Lorsqu’il convertit même un seul fichier en utilisant des conversions logicielles, le CPU devrait être à 100 % (MCEBuddy est multi-thread). Cependant, ce ne serait que pendant la phase de conversion elle-même et non pendant les autres activités (comme le remuxage et l’analyse, etc.). Alors, quel profil utilisez-vous, avez-vous l’encodage matériel activé (NVIDIA ou Intel) et regardez-vous l’utilisation du CPU pendant la phase de conversion ?
J’ai une Asus GTX 1070 TI, cadencée à peu près comme les cartes 1080 classiques, mais avec 15 % de cœurs en moins. L’encodage matériel est activé et fonctionne selon les logs.
Le profil est « convertir en MKV Qualité Normale ». J’ai réalisé l’intégration avec PLEX, sauf que je le fais passer par toute ma bibliothèque vidéo (environ 6 500 fichiers) pour vérifier s’il y a des pubs dans les fichiers et les supprimer, ainsi que pour compresser les fichiers les plus gros (mp2 par exemple).
J’ai surveillé l’utilisation CPU en permanence (loguée pendant 30 minutes à la fois) pour déterminer les moments les plus intensifs, etc. Le processus le plus gourmand de loin est ffmpeg : quand il démarre, il lance 32-49 threads par instance ; Mencoder monte 9-12 threads par instance, et Comskip semble toujours monter 7 threads par instance.
Je vois des threads sur chaque cœur (sauf le dernier, que j’ai réservé dans Process Lasso pour les tâches Plex), et ils semblent assez bien répartis en termes d’utilisation des cœurs, mais quelque chose semble limiter l’utilisation ; je suppose que c’est peut-être un manque de threading lors de « Analyzing Video Information », par exemple. Je présume que c’est une fonction qui s’exécute dans ffmpeg, car il y a beaucoup d’instances (7 en ce moment, plus un comskip). C’est l’utilisation CPU la plus faible quand il y a beaucoup de sessions qui font ça.
Un point intéressant pour moi : l’utilisation globale baisse quand je passe de 8 à 6 sessions simultanées, c’est pourquoi je me demandais pourquoi pas 12 ou 16 sessions. Je vois l’utilisation chuter d’environ 30 % (un peu plus de la moitié utilisée à un peu plus du tiers).
C’est peut-être un problème de verrouillage de ressource (spinlock sur quelque chose).
Globalement, le traitement concerne environ 800 vidéos par jour, ce qui me paraît très rapide, et la vidéo résultante est correcte (sauf quelques problèmes de synchronisation audio/vidéo après comskip).
Pour 8 sessions simultanées, cela fait près de 400 threads et cela ne fait pas monter le CPU à 100 %, je suis impressionné. Essayez ceci : créez un profil personnalisé et incluez le paramètre -threads 100 ou le nombre de threads que vous souhaitez qu’ffmpeg utilise, et voyez si cela change quelque chose.
Pour Comkip, je pense que vous définissez le nombre de threads dans le fichier INI, je ne suis pas sûr, mais vous pouvez le confirmer sur le forum de discussion.
Voyez si cela augmente l’utilisation de votre CPU. Pour ce qui est du nombre de conversions simultanées, si vous voulez l’augmenter davantage, arrêtez simplement le moteur, ouvrez le fichier mcebuddy.conf, définissez le nombre maximal de conversions simultanées au nombre que vous souhaitez (12 ou 16) et enregistrez le fichier. Cliquez ensuite sur le bouton Démarrer et il rechargera les paramètres (il suffit de ne pas ouvrir l’onglet Paramètres et de cliquer sur Enregistrer, car cela générera une exception). Si cela résout votre problème, dans la prochaine version nous augmenterons le nombre maximal de conversions simultanées.
Une autre chose : lorsqu’il est en train d’“Analyser les informations vidéo” et qu’il y a des problèmes dans le fichier vidéo (enregistrée depuis une antenne, donc certains fichiers ne sont pas de haute qualité), il semble rester bloqué très longtemps (peut-être même indéfiniment, bien que je ne l’ai pas laissé bloquer plus d’un jour). C’est une autre raison pour laquelle je pensais qu’il serait bon d’avoir plus de sessions, afin que, lorsque certaines se bloquent, d’autres puissent continuer.
Quand ils se bloquent, je note le nom, j’arrête les conversions, je supprime les fichiers et je redémarre. Finalement, ça se bouche à nouveau avec d’autres.
Téléchargez le fichier qui reste « bloqué » afin que nous puissions l’analyser et voir ce qui se passe. Plusieurs opérations ont lieu pendant la phase d’analyse, notamment l’analyse des propriétés techniques de la piste pour configurer/optimiser la conversion, ainsi que le parcours complet de la vidéo à la recherche d’informations de recadrage. Si le recadrage pose problème, cochez la case dans les paramètres experts qui dit « désactiver le recadrage » et cette étape sera ignorée. Mais de toute façon, téléchargez-le pour que nous puissions l’examiner.
Je pense avoir trouvé une chose : Bitdefender examinait les éléments écrits sur le disque et, je crois, était dépassé. J’ai demandé à ne pas vérifier les E/S disque pour tout ce qui touche au traitement vidéo et l’utilisation a bondi de 25 %. L’utilisation CPU atteint maintenant environ 80 %, avec une moyenne d’environ 70 %, et un minimum d’environ 50 %. Ce n’est pas parfait, mais c’est une nette amélioration. J’examine maintenant la partie Windows Defender pour voir si elle est aussi limitée en ressources et si je peux l’écarter.
Merci pour les infos supplémentaires, je vais augmenter les threads pour ffmpeg et voir ce qui se passe. Je parie que je peux atteindre 100 %.
Vous êtes sur la bonne voie, avec 8 conversions en parallèle, c’est peut-être le maillon le plus lent qui constitue le goulot d’étranglement, comme votre disque dur. Essayez de répartir les tâches de conversion sur différents disques de destination et de source, gardez le dossier Temp sur un lecteur RAM si vous avez de la RAM supplémentaire, et vous verrez une ÉNORME augmentation de la vitesse de traitement.
Au fait, dans la version BETA d’aujourd’hui, vous pouvez maintenant entrer un nombre entre 1 et 50 (c’est une limite raisonnable même pour les plus gros systèmes)
Merci pour tes réflexions. J’ai un SSD NVMe M.2 Samsung de 512 Go (débit annoncé de 8 Gb/s) réservé aux fichiers temporaires, et un autre pour Win 10 et Plex. La bibliothèque est sur un cluster RAID 5 avec 8 disques de 4 To, donc la file d’I/O (je vois jusqu’à 1000 I/O en attente) reste assez courte quand ça tourne à plein régime et se vide en millisecondes. Actuellement, j’observe plus de 350 Mo/s (par à-coups de deux secondes), ce qui me paraît une I/O sérieuse.
J’ai testé un ramdisk de 8 Go pour le temp ; à part manquer d’espace en charge complète, la vitesse me semblait équivalente aux M.2. Je suis donc revenu à confier les 16 Go à l’OS.
Je pense être en bonne voie pour traiter jusqu’à 1200 vidéos par jour, ce qui est amplement suffisant pour mon serveur PLEX perso. J’ai identifié les goulets d’étranglement et je vais augmenter le nombre de threads pour ffmpeg.
Oui. Donc ça va être dans l’interface graphique ? La zone qui affiche le statut va-t-elle être dans une région défile, comme la liste de traitement des fichiers qui est au-dessus ?
Oui, l’écran principal aura une barre de défilement s’il y a plus de files d’attente que l’écran ne peut en afficher. Les options de menu déroulant par défaut sont toujours de 1 à 8, mais vous pouvez les remplacer manuellement jusqu’à 50 ; bien que vous deviez disposer d’une énorme quantité d’espace disque libre dans votre dossier temp (1,5 x nombre de conversions x taille du fichier) pour utiliser autant de conversions simultanées.
Thomweah5555, quels paramètres avez-vous modifiés dans Bitdefender ? Sous outils - avancé, je vois certaines choses qui pourraient correspondre à ce dont vous parlez.
Pouvez-vous nous orienter dans la bonne direction ?
Merci
Désolé, le principal responsable était ByteFence, que j’ai mis en liste blanche pour les disques temp et vidéo. Mais dans Bitdefender, il est utile de désactiver le pilote automatique.