GTX 1660 ti / NVENC était rapide, mais les tailles de fichiers étaient terribles !

Ma config est un Ryzen 7-1700 avec 16 Go de RAM, un tas de disques durs et un SSD pour le système (Windows 10 Professionnel). Ma carte graphique était/est une GT 730 2 Go. J’utilise la version donateur 2.4 v11 de MCEB avec l’encodage matériel activé.

Plus tôt cette année, j’ai commencé à capturer de vieilles émissions TV d’une demi-heure via mon Roku et une boîte de capture. J’utilise OBS Studio version 23.2 (dernière) avec les réglages par défaut (1920 × 1080). J’ai simplement étiré l’image puisque les émissions sont dans un format ancien. Le rendu final est super sur une HDTV ! Une fois la capture terminée, le fichier est envoyé sur mon HTPC où MCEB le traîne avec le codec HEVC MP4. J’ai créé un profil spécial car ces épisodes n’ont pas de pubs, donc pas besoin de Comskip.

Avec la GT 730, le fichier brut faisait environ 470 Mo ; MCEB le réduisait à ~220 Mo. J’ai besoin de la plus petite taille possible car il y a environ 40 épisodes par saison et je compte tout archiver.

Après pas mal de lectures, j’ai décidé d’acheter une meilleure carte. J’ai trouvé une GTX 1660 Ti à bon prix et je l’ai installée. J’ai mis à jour les pilotes et utilisé le codec H265 NVENC dans OBS. Après les résultats ci-dessous, j’ai aussi testé le codec H264 (le même que la 730, à priori) : résultats similaires.

Les temps de traitement dans MCEB ont chuté – de 40 min à 9 min – et la charge CPU a disparu ; avant, deux flux faisaient monter le CPU à 100 %. J’ai été déçu de voir que la taille finale des fichiers était presque identique au fichier source (bien au-dessus de 400 Mo).

J’ai expérimenté pas mal de réglages, notamment le bitrate, sans parvenir au même niveau de compression. J’ai fini par renvoyer la 1660 et réinstaller la 730. Dès le premier fichier, les temps de conversion et les tailles sont redevenus normaux. Comme la machine est dédiée, je peux lancer les conversions en dehors des heures d’usage, mais je m’attendais à bien mieux, surtout vu la collaboration Nvidia / OBS sur la dernière version. Si j’ai fait une erreur, je ne sais pas laquelle.

Quelqu’un d’autre a-t-il constaté un comportement semblable avec une carte Nvidia ? Une carte plus modeste, type GTX 1050, pourrait-elle mieux fonctionner ?

J’ai trouvé que les tailles de fichiers avec NVENC sont sous-optimales. Je vous suggère d’augmenter la compression pour réduire les fichiers. Revenir à une 1050 ne réduira pas la taille des fichiers - cela ralentira simplement la conversion.

Merci. Comment puis-je augmenter la compression ? J’ai essayé de réduire le débit binaire de 2500 à 2000, puis à 1500 ; la première modification n’a pas vraiment changé la taille, tandis que la seconde a donné une vidéo de mauvaise qualité.

Je te suggère de regarder le profil. Cherche cette ligne :

ffmpeg-video=-ss 9 -c:v hevc_nvenc -cq 26 -rc vbr -map 0:v

La partie CQ fait référence à « Constant Quality » – des valeurs plus élevées signifient une qualité inférieure et, bien sûr, l’échelle du H265 est différente de celle du H264 ; un CQ de 23 en H265 équivaut à peu près à une qualité de 20 en H264.

Utiliser la commande ci-dessus réduira la taille des fichiers d’environ 60 % par rapport au fichier .TS non compressé. L’échelle est logarithmique, donc de petits ajustements peuvent avoir un gros impact.

Bonne chance ! Will.

Merci pour votre temps et vos conseils. J’ai trouvé les paramètres du profil, et voici ce qu’il y a sur cette ligne :
ffmpeg-video=-ss 0 -vf yadif=0:-1:1,hqdn3d -vcodec libx265 -preset medium -crf 26 -map 0:v -sn

Je présume que c’est différent puisque la GTX/NVENC n’est plus là.

Avez-vous des conseils pour une carte vidéo H265 plus capable d’effectuer cette opération ? Je préférerais ne pas dépenser à nouveau 200 $+ si une carte moins chère peut donner de bons résultats et soulager le CPU. Je sais que la 1050 est une carte populaire, c’est pourquoi je l’avais mentionnée.

Une fois que j’aurai une carte compatible HEVC, si je trouve le paramètre ffmpeg similaire dans OBS, je pourrai peut-être aussi soulager MCEB.

Salut. Le profil que tu as copié utilise x265, qui est entièrement logiciel. Si tu remplaces libx265 par hevc_nvenc, il commencera à utiliser ta carte vidéo pour l’encodage. La syntaxe de ffmpeg est un peu arcanique — j’ai posté ci-dessous le profil que j’utilise :

[MKV HEVC Beta Profile Constant Quality]
Description=ATTENTION : Encodage Handbrake en qualité constante (26) avec HEVC Nvidia.
order=ffmpeg, handbrake
AllowH264CopyRemuxing=true
FixedResolution=true
AutoDeinterlace=true
ffmpeg-UsingHardwareEncoding=True
ffmpeg-general=-threads 0 -hwaccel auto
ffmpeg-video=-ss 9 -c:v hevc_nvenc -cq 26 -rc vbr -map 0:v
ffmpeg-audio=-acodec ac3 -ab 192k -map 0:a
ffmpeg-audioac3=-acodec ac3 -ab 384k -map 0:a
ffmpeg-ext=.mkv
ffmpeg-audiodelay=skip
handbrake-UsingHardwareEncoding=true
handbrake-general=--decomb --denoise="weak" --loose-anamorphic --verbose=2 -T -O
handbrake-video=--start-at duration:0 --encoder nvenc_h265 --encoder-preset slow --quality 23 --vfr
handbrake-audio=-E ffac3 -R auto -B 192 -D 0 -a 1,2,3,4,5
handbrake-audioac3=-E ffac3 -R auto -B 384 -D 0 -a 1,2,3,4,5
handbrake-ext=.mkv
handbrake-audiodelay=skip
PreConversionCommercialRemover=true

La carte que tu as est plus que suffisante — c’est une version mise à jour de la gamme GTX 10xx. J’ai acheté une RTX 2060 pour ma machine Plex / MCEBuddy, mais ta 16xx n’était pas encore sortie quand j’ai acheté la mienne. Bonne chance ! Will.

Une autre chose : si vous utilisez une version récente de Windows 10, vous pouvez regarder le gestionnaire des tâches pour voir où le travail est effectué pendant la conversion du fichier. Si tout fonctionne correctement, vous devriez voir la carte vidéo monter à 99 % lorsque la conversion est en cours. C’est assez impressionnant. Merci ! Will.

Merci pour le message. J’ai retiré et renvoyé la GTX 1660 ti, donc je suis de retour avec la GT 730, que NVIDIA indique ne pas prendre en charge H265 sur leur matrice.

EDIT
J’utilise à la fois HW monitor et des programmes de surveillance GPU pour voir ce que font le CPU et le GPU quand MCEB est en cours d’exécution.

Je vais essayer de trouver une carte série 10 à petit budget qui le fera. Merci encore.

J’ai été satisfait de ma 2060 - la 2050 fonctionnera aussi et est moins chère…

En utilisant vos informations, j’ai expérimenté avec OBS Studio, car mon objectif est d’obtenir un fichier de taille raisonnable dès la capture initiale, puis d’utiliser MCEB uniquement pour les métadonnées de diffusion et le transfert vers Plex. Je ne maîtrise pas vraiment ffmpeg, mais je sais comment entrer le code. En suivant la procédure ci-dessous, j’ai tenté d’ajouter quelques fichiers dll à OBS d’après un post afin de pouvoir utiliser libx265, mais l’enregistrement a planté les deux fois. J’ai lu qu’OBS ne prend pas en charge x265.

En reprenant la ligne ffmpeg du profil MCEB sans la dernière partie concernant les publicités et en utilisant le codec H264_Nvenc, j’ai constaté une forte réduction sur des fichiers tests de 5 min : ceux capturés en H265 Nvenc pesaient ~190 Mo, contre 103 Mo aujourd’hui (ratio proche de ce que j’obtiens avec MCEB). Le plus intéressant : la barre d’infos OBS affichait seulement 14 % d’utilisation CPU pendant la capture. J’ai testé la lecture sur une autre machine : le rendu était bon.

Il me reste des fichiers d’environ 24 min 30 (format demi-heure) ; je vais en essayer un pour voir le résultat. Si cela fonctionne de la même manière, je peux attendre avant d’acheter une nouvelle carte vidéo.

Merci encore pour votre aide.

Eh bien, retour à la case départ. Mon fichier de 24 min avec des paramètres personnalisés faisait environ 503 Mo. J’ai réalisé que je regardais le plus gros fichier H265 que j’avais créé quand j’ai commenté précédemment, les autres en H264 étaient plus petits. Le même programme avec la configuration précédente faisait environ 487 Mo, donc cela l’a rendu plus volumineux.

Je vais continuer à tester différents réglages. Si MCEB peut le faire sur la même machine en utilisant ffmpeg, il doit bien y avoir un moyen de le faire avec OBS.