Ma nouvelle carte graphique peut exécuter 4 sessions d’encodage simultanées. Je l’ai vérifié avec FFmpeg Batch AV Converter plus tôt. J’exécute la même chose dans MCEBuddy en ce moment et mon utilisation CPU est à 100 % en utilisant ffmpeg comme encodeur et l’interface graphique de MCEBuddy est non réactive et ma machine est lente. Je veux continuer à utiliser MCEBuddy mais je ne peux pas avoir ma machine paralysée pour ce faire. J’ai dû fermer l’interface graphique pour faire quoi que ce soit avec ma machine. J’ai ensuite rouvert l’interface graphique et elle a affiché la progression des quatre conversions pendant environ 5 secondes avant de se bloquer et de redevenir non réactive. Le programme n’est pas utilisable de cette façon. Est-ce que je fais quelque chose de mal et comment puis-je corriger cela ?
Le profil pour MKV HEVC n’est pas compatible avec l’encodage matériel, alors comment MCEBuddy transmet-il les paramètres à ffmpeg ? Ou utilise-t-il simplement le paramètre par défaut dans ffmpeg ? Existe-t-il un moyen de modifier les paramètres pour l’encodage matériel ?
Je suis donc redescendu à 2 conversions simultanées et cela me permet de rester sous les 90 % avec les autres tâches que j’ai en cours, donc au moins mon ordinateur reste utilisable. J’adore MCEBuddy, mais j’aimerais savoir comment faire baisser l’utilisation CPU pour 4 conversions simultanées et ainsi gagner en vitesse. J’utilisais un profil personnalisé dans l’autre programme et je pouvais en faire 4 en une heure sans problème, avec une utilisation CPU d’environ 65 %.
Si l’accélération matérielle est cochée dans la tâche de conversion, elle sera utilisée si le logiciel détecte qu’elle est disponible. Si vous pouviez joindre l’un des journaux d’une conversion qui consomme tant de CPU, nous pourrions voir ce qui se passe et faire quelques suggestions.
Par défaut, ce profil tente d’utiliser Handbrake en premier ; cependant, selon votre GPU, cela peut échouer car le préréglage « medium » n’est pas disponible.
L’audio est aussi ré-encodé, ce qui peut prendre un peu de CPU car il ne sera pas traité par le GPU, mais cela devrait être une quantité très faible. Je préfère copier l’audio.
Voici le profil MKV HEVC.
Description=Conversion HEVC en MKV (H.265/AC3). Crée un fichier plus petit (50 % plus petit que H.264) avec une qualité comparable mais très lent.
order=handbrake,ffmpeg
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn
ffmpeg-audio=-acodec ac3 -ab 160k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 256k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-general=--decomb --loose-anamorphic --verbose=2
handbrake-video=--start-at duration:0 -e x265 --encoder-preset medium -q 26
handbrake-audio=-E ffac3 -R auto -B 160 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 256 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true
Je voulais un peu plus de ce profil et forcer l’encodeur sur le GPU spécifique que j’utilisais. Changez simplement order= si vous préférez ffmpeg. Voici quelques exemples :
Intel :
[HEVC MKV Intel]
Description=HEVC en MKV forcé sur Intel.
order=handbrake,ffmpeg
DisableEncoderReordering=true
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec hevc_qsv -preset slow -crf 26 -vsync 2 -map 0:v -sn
ffmpeg-audio=-acodec ac3 -map 0:a
ffmpeg-audioac3=-acodec copy -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
ffmpeg-UsingHardwareEncoding=true
ffmpeg-DisableSoftwareEncoderFallback=true
handbrake-general=--decomb --auto-anamorphic --verbose=2
handbrake-video=--start-at duration:0 -e qsv_h265 --encoder-preset quality -q 26
handbrake-audio=--aencoder copy --audio-copy-mask aac,ac3,eac3,truehd,dts,dtshd,mp3,flac -R auto
handbrake-audioac3=--aencoder copy --audio-copy-mask aac,ac3,eac3,truehd,dts,dtshd,mp3,flac -R auto
handbrake-ext=.mkv
handbrake-audiodelay=skip
NVidia :
[HEVC MKV AnyStream NVidia]
Description=HEVC en MKV forcé sur NVidia.
order=handbrake,ffmpeg
DisableEncoderReordering=true
ffmpeg-general=-threads 0
ffmpeg-video=-ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec hevc_nvenc -preset hq -crf 26 -vsync 2 -map 0:v -sn
ffmpeg-audio=-acodec ac3 -map 0:a
ffmpeg-audioac3=-acodec copy -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
ffmpeg-UsingHardwareEncoding=true
ffmpeg-DisableSoftwareEncoderFallback=true
handbrake-general=--decomb --auto-anamorphic --verbose=2
handbrake-video=--start-at duration:0 -e nvenc_h265 --encoder-preset hq -q 26
handbrake-audio=--aencoder copy --audio-copy-mask aac,ac3,eac3,truehd,dts,dtshd,mp3,flac -R auto
handbrake-audioac3=--aencoder copy --audio-copy-mask aac,ac3,eac3,truehd,dts,dtshd,mp3,flac -R auto
handbrake-ext=.mkv
handbrake-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-DisableSoftwareEncoderFallback=true
AllowAllCopyRemuxing=true
Outre l’utilisation d’encodeurs matériels et l’optimisation des profils, vous pouvez également consulter ce sujet pour plus de détails sur la façon de limiter les ressources utilisées par l’encodage vidéo :
SystemIdleProcess…est-ce que [HEVC MKV AnyStream NVidia] est un profil que je devrai ajouter à mon fichier de profils pour l’essayer ? Si oui, dois-je simplement l’ajouter sous le profil HEVC actuel qui est en encodage logiciel ?
J’ai trouvé le point faible du profil actuel à accélération matérielle dans MCEBuddy en regardant un film hier soir. Le problème apparaît dans des conditions de faible luminosité où la majeure partie de l’écran est constituée de nuances de noir, de blanc et de gris car il fait très sombre. Il y a un effet de halo ou de banding, comme des anneaux ou un dégradé de nuances qui ressemblent à une cible, soit avec le centre de l’écran comme centre de la cible, soit centré autour d’une personne se déplaçant dans la pénombre. Dès qu’une vraie couleur apparaît dans la scène, cet effet disparaît ou est tellement minimisé qu’il n’est plus perceptible. En conditions de bonne luminosité, l’image est quasiment parfaite. Je suis passé plusieurs fois de l’encodage H.265 à la même version du film en H.264 et, dans ce dernier, l’effet n’est pas visible.
Je vais utiliser ce film pour expérimenter avec les paramètres d’encodage, car j’aimerais que cet effet disparaisse tout en gardant des tailles de fichiers aussi petites que possible. Avez-vous des suggestions sur les paramètres que je devrais tester pour corriger cela ? Je pensais simplement encoder le film 5 ou 6 fois avec une qualité légèrement augmentée jusqu’à ce que l’effet disparaisse, et utiliser cela comme nouveau profil, du moins pour les films d’horreur, car les films en lumière normale sont excellents tels qu’ils sont actuellement. C’est la première fois que je rencontre cette anomalie.
EDIT…Ok j’ai ajouté le profil, l’ai sélectionné dans MCEBuddy et je lance uniquement ce film pour une référence.
Merci
Je sais exactement de quoi tu parles avec les scènes sombres/noires. Je n’ai pas encore eu beaucoup de temps pour expérimenter une résolution, mais tu es sur la bonne voie en augmentant la qualité (techniquement en diminuant la valeur du qualificateur, 26 dans le profil) jusqu’à ce que cela disparaisse. À part ça, je n’ai pas vraiment de suggestions de réglages de paramètres. Il faudra peut-être utiliser un logiciel pour ce type de films/séries également. Et peut-être même utiliser un profil main10 pour obtenir un rip HDR10 approprié. Ou H264 pourrait être la solution. Honnêtement, je n’ai pas la réponse.
Merci pour l’aide, si nous expérimentons tous les deux, nous finirons bien par trouver une solution. Si je résous le problème, je créerai peut-être simplement un profil pour les films d’horreur, car ce sont ceux qui contiennent beaucoup de scènes sombres, surtout avec du mouvement. Je ne l’ai remarqué que parce que j’ai regardé « The Amityville Murders » hier soir et que la dernière moitié du film est presque entièrement sombre. J’ai déjà observé cet effet dans des films classiques, où des scènes très sombres comportent beaucoup de noir et du mouvement, mais comme elles ne durent qu’une seconde ou moins, elles ne justifient pas d’augmenter la taille du fichier pour quelque chose que la plupart des gens ne remarqueront pas… moi, je remarque tout.
Mon encodage H.264 de ce film est de meilleure qualité uniquement dans les scènes sombres, mais c’est aussi un encodage logiciel ; je vais donc peut-être lancer un encodage H.264 accéléré par le matériel pour voir si le problème persiste. D’une manière ou d’une autre, je trouverai une solution, ou bien je déciderai simplement de ne pas m’inquiéter de quelque chose que je pourrais supporter si la taille du fichier devient trop grande pour le faire disparaître. Je regarde des films d’horreur chaque nuit depuis des semaines et c’est la première fois que ce problème est perceptible.
Je l’ai remarqué dans Bright et je suis pareil, ma femme s’en fichait ou ne l’a pas remarqué, mais je trouvais ça affreux.
Une astuce pour gagner du temps est d’utiliser l’application MCEBuddy Custom Cuts pour supprimer les autres parties du film et ne garder que la ou les scènes que vous voulez tester. Ou utilisez un autre logiciel pour couper le reste et ne conserver que la ou les scènes que vous voulez tester comme fichier source.
C’est une bonne idée, je peux simplement retirer une section de 5 minutes où je l’ai le plus remarqué et je me souviens de ce moment, donc je peux faire tous les encodages en moins d’une heure.
J’ai encodé le film avec votre profil tel quel, une fois en crf 23, une autre fois en crf 20, et aucune différence n’est apparue entre les trois fichiers résultants. Tous avaient la même taille et la même qualité, le problème restant inchangé.
Hmmm… c’est étrange. Tu es sûr qu’il a utilisé ffmpeg ? Peux-tu joindre un fichier journal pour l’un des fichiers que tu as convertis ?
[Téléchargement : The Amityville Murders STZEH.ts-Convert to MP4-2020-11-04T14-25-49.log…]
Ceci est le journal du dernier que j’ai fait où j’ai réglé le crf à 20
Je ne peux pas le téléverser pour une raison quelconque, cela me dit sans cesse que la différence entre l’heure de la requête et l’heure actuelle est trop grande.
…Mais selon le journal, il utilise ffmpeg… mais pourquoi utilise-t-il comskip ? Je n’ai jamais lancé ce programme, comment le désactiver ?
Il peut appeler comskip sans rien faire avec. Je ne m’en inquiéterais pas. Voyez-vous « MCEBuddy.AppWrapper.Handbrake » quelque part vers la fin du journal ?
Non, il n’y a rien de tel avec HandBrake vers la fin, il utilise bien HandBrake au début pour vérifier certaines choses, mais ensuite il passe à MCEBuddy.Transcode.ConvertWithFfmpeg
Voici d’autres options pour les préréglages de l’encodeur nvenc_hevc.
-preset <int> E..V..... Définit le préréglage d'encodage (de 0 à 11) (par défaut medium) default 0 E..V..... slow 1 E..V..... hq 2 passes medium 2 E..V..... hq 1 passe fast 3 E..V..... hp 1 passe hp 4 E..V..... hq 5 E..V..... bd 6 E..V..... ll 7 E..V..... faible latence llhq 8 E..V..... faible latence hq llhp 9 E..V..... faible latence hp lossless 10 E..V..... sans perte losslesshp 11 E..V..... sans perte hp
Slow effectue 2 passes de hq qui pourraient donner de meilleurs résultats. Mais honnêtement, nous sommes peut-être sur la mauvaise piste. Peut-être devrions-nous simplement faire quelques recherches sur internet pour ffmpeg et nvenc_hevc.
Honnêtement, j’utilise principalement l’encodage matériel Intel ces derniers temps, car c’est ce que j’ai sur ma machine secondaire où je fais la plupart de mes captures/encodages.
J’ai trouvé la raison pour laquelle changer la valeur crf n’avait aucun effet sur la vidéo résultante…crf est uniquement pour l’encodage logiciel, vous devez utiliser une valeur cq avec nvenc.
Aussi, tous ces profils que vous avez publiés ont un autre défaut…ils utilisent l’encodage logiciel pour tout ce qui précède le paramètre nvenc, par exemple le désentrelacement. Vous pouvez utiliser yadif dans nvenc et je l’ai testé dans ffmpeg Batch et quand vous laissez le GPU faire le désentrelacement, les temps d’encodage sont deux fois plus courts que ce que prend MCEBuddy…je n’ai juste pas encore réussi à transmettre tous les paramètres au nvenc dans MCEBuddy de la manière dont les profils sont structurés. Je continue à obtenir des erreurs.