Utilisation élevée du processeur/encodage élevé/prend trop de temps à encoder ? Lisez ceci d’abord !

L’encodage vidéo est une opération très gourmande en CPU, et OBS ne fait pas exception. OBS utilise la meilleure bibliothèque d’encodage vidéo open source disponible, x264, pour encoder la vidéo, et peut utiliser des encodeurs matériels comme NVENC sur les GPU haut de gamme. Cependant, certaines personnes peuvent constater une utilisation élevée du CPU, et d’autres programmes fonctionnant sur votre ordinateur peuvent voir leurs performances se dégrader lorsqu’OBS est actif si vos paramètres sont trop élevés pour le matériel de votre ordinateur. Dans certains cas, OBS indiquera « Encodage surchargé ! » sur sa barre d’état, ce qui signifie que votre ordinateur ne peut pas encoder votre vidéo assez rapidement pour maintenir les paramètres que vous avez définis, ce qui entraînera un gel de la vidéo après quelques secondes, ou un bégaiement périodique.
Voici quelques façons de réduire l’utilisation des ressources et, avec un peu de chance, de faire en sorte qu’OBS et vos programmes fonctionnent plus rapidement pendant l’encodage :
Downscale your output resolution
La résolution à laquelle vous encodez a le plus grand impact sur l’utilisation du CPU. Par exemple, 1080p a plus de deux fois le nombre de pixels dans chaque image par rapport à 720p, et votre utilisation du CPU augmente en conséquence. La façon la plus courante de réduire l’utilisation du CPU est de réduire la résolution. Lorsque vous réduisez la résolution, OBS prend votre scène et la réduit autant que vous le souhaitez avant de la transmettre à l’encodeur. Vous souhaitez peut-être que votre résolution de base soit de 1080p, puisque c’est la résolution de votre contenu, mais votre CPU n’est peut-être pas en mesure d’encoder une vidéo de 1080p non réduite. Vous pouvez donc réduire votre résolution à 720p (ou moins) pour garder la même image, mais en utilisant une résolution plus petite pour réduire la charge du CPU.
Vous pouvez modifier la quantité que vous voulez réduire dans Paramètres > Vidéo > Résolution de sortie (mise à l’échelle). Vous pouvez garder votre résolution de base (Canvas) la même, de sorte que votre mise en page ne change pas, puis réduire la résolution à ce qui vous donne de bonnes performances.
Les différents filtres de réduction d’échelle (bilinéaire, bicubique et Lanczos) changent simplement l’algorithme utilisé pour rétrécir l’image : bilinéaire est le plus rapide et prend le moins de ressources, mais ne semble pas aussi bon, tandis que Lanczos prend plus de ressources mais semble meilleur. En termes de performances, ils ne sont pas très différents. N’hésitez pas à expérimenter avec le filtre qui vous convient le mieux.
Baissez votre taux d’images
Si vous diffusez en continu à plus de 30 FPS, une autre option à envisager est de baisser votre taux d’images à 30 FPS. Cela réduira le nombre d’images que votre CPU doit traiter dans un laps de temps donné, ce qui réduira l’utilisation du CPU. Vous pouvez même ressentir le besoin de baisser votre taux de trame à quelque chose en dessous de 30 FPS, dans le cas où votre CPU est vraiment faible et a du mal.
Utiliser des encodeurs matériels (Quicksync, AMF ou NVENC)
Quicksync, AMF et NVENC sont des encodeurs matériels qui viennent sur les GPU intégrés Intel récents, les GPU AMD plus récents et les GPU NVIDIA récents, respectivement. Vous pouvez décharger la charge d’encodage sur ces encodeurs matériels au prix d’une diminution quelque peu notable de la qualité au même débit binaire, bien que les cartes NVIDIA récentes soient plus performantes que l’encodage logiciel). Notez que QSV / AMF sont particulièrement mauvais à bas débit, ils ne sont donc pas recommandés pour le streaming.
Si vous avez l’un des encodeurs matériels mentionnés, vous pouvez voir si ces options sont disponibles pour vous dans les paramètres d’encodage.
Quicksync est un peu plus délicat à configurer, mais voici un guide : https://obsproject.com/forum/resources/how-to-use-quicksync.82/
De même, voici le guide de dépannage pour l’encodeur AMF : https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide
Changer votre préréglage x264
Si vous utilisez l’encodeur logiciel (x264), il a un certain nombre de « préréglages » qui changeront votre qualité vidéo et l’utilisation du CPU en conséquence. Le paramètre par défaut d’OBS est veryfast, ce qui, pour la majorité des cas, est le meilleur équilibre entre l’utilisation du CPU et la qualité vidéo. Ce paramètre peut être modifié dans Paramètres > Sortie (cochez la case Activer les paramètres avancés de l’encodeur si vous êtes en mode simple) > Préréglage de l’encodeur.
Le nom du préréglage est destiné à indiquer à quelle « vitesse » l’encodeur doit fonctionner. Les préréglages plus rapides utiliseront moins de CPU au prix de calculs de qualité. Les préréglages plus lents utiliseront plus de calculs pour la qualité, mais utiliseront beaucoup plus de CPU.
Par exemple, si vous voulez essayer de réduire l’utilisation du CPU sans modifier votre résolution ou FPS, vous pouvez réduire votre utilisation du CPU en changeant votre préréglage x264 à superfast ou ultrafast, et x264 passera moins de temps à essayer de rendre l’image bonne, et vous épargnera quelques cycles de CPU. L’image peut sembler un peu plus bloquée ou pixellisée, mais vous serez en mesure de conserver votre résolution/fps.
Faites très attention avec ce paramètre, car même un pas plus rapide ou plus lent peut avoir un impact énorme sur l’utilisation du CPU. Par exemple, le préréglage nommé « faster » peut utiliser deux fois plus de CPU que « veryfast », celui juste au-dessus. Remettez toujours ce paramètre sur veryfast si vous n’êtes pas sûr de ce qu’il faut régler.
Vérifiez vos sources
Certaines sources telles que les webcams et les cartes de capture peuvent utiliser beaucoup de CPU juste en étant sur votre scène car elles doivent décoder les données vidéo. Si vous utilisez une webcam, vérifiez qu’elle ne fonctionne pas à une résolution trop élevée (plus de 480p est rarement nécessaire s’il ne s’agit pas de plein écran). Les sources du navigateur peuvent également consommer du CPU s’il y a des animations ou des scripts complexes actifs.
Si vous avez beaucoup de scènes différentes pour différents scénarios, envisagez de les diviser en collections de scènes distinctes si nécessaire. Cela réduira le nombre de sources actives dont OBS doit garder la trace, ce qui peut réduire l’utilisation du CPU.
Mettre à niveau votre matériel
Certains CPU sont si faibles qu’ils sont presque irrécupérables pour faire fonctionner quelque chose de décent. Les processeurs à double cœur et les APU d’AMD sont particulièrement connus pour cela. Ils pourraient être en mesure d’assurer un flux de 360p à 25 FPS en utilisant le préréglage ultra-rapide, mais ce ne sera certainement pas beau à voir. C’est à vous d’en décider. Si vous disposez d’un Sandy Bridge i5 ou i7 ou plus récent, ou d’un AMD 6-core ou 8-core ou plus récent, alors vous devriez être en mesure d’obtenir un flux d’apparence décente à des résolutions et des fréquences d’images raisonnables.
OBS est différent de nombreux autres programmes de streaming/enregistrement dans la mesure où il utilise votre GPU pour de meilleures performances. Malheureusement, sur certains GPU plus anciens ou de modèle économique, cela peut constituer un goulot d’étranglement dans les performances de votre flux. Cela est généralement dû à une faible bande passante mémoire et/ou à un faible nombre de cœurs de processeur. Les GPU tels que les nVidia GTX série 200 (250, 260, 280) et 9800GT et antérieurs étaient autrefois très puissants en leur temps, mais sont maintenant de très vieilles cartes qui feront que les performances d’OBS en souffriront grandement.
Faites tourner toutes les sources audio à la même fréquence
Si votre audio de bureau tourne à 44100 Hz mais que vous avez réglé OBS pour encoder à 48000 Hz, il devra rééchantillonner l’audio, ce qui utilise du temps CPU. Plus vous ajoutez de sources audio (ex : Microphone, Sources Média) qui utilisent des taux d’échantillonnage différents, plus l’utilisation du CPU sera consommée par le ré-échantillonnage. Exécutez tous vos périphériques audio et OBS à la même fréquence pour éviter cela.
D’autres programmes/jeux utilisent aussi le CPU
Certains programmes (en particulier les jeux) peuvent utiliser beaucoup de CPU. Cela inclut certains évidents, comme Battlefield 4, et d’autres non évidents, comme les jeux joués via des émulateurs. Si un jeu utilise beaucoup de CPU, il peut interférer avec OBS tout comme OBS peut interférer avec le jeu, vous devrez donc envisager de réduire ces paramètres pour compenser le jeu auquel vous jouez. Vous pouvez également utiliser le paramètre « Priorité du processus » dans Paramètres > Avancés pour augmenter ou réduire la priorité du processeur du programme. Il est courant de donner à OBS une priorité de processus « supérieure à la normale » pour s’assurer qu’OBS est priorisé par le système et qu’il fonctionne sans problème, bien qu’il faille l’utiliser avec prudence.
Faites passer votre journal par l’analyseur de journaux pour plus de conseils
S’il y a d’autres choses qui pourraient causer le ralentissement d’OBS, vous pouvez souvent les trouver en faisant passer votre journal OBS par l’analyseur de journaux de R1CH. Il vous indiquera tout autre problème de performance qui pourrait ralentir les choses, ou tout autre problème que vous pourriez avoir avec vos paramètres. Vous pouvez le faire à partir de votre menu Aide OBS > Fichiers journaux, ou en collant votre journal dans la boîte sur le site de l’analyseur.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.