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. 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 pendant qu’OBS est actif si vos paramètres sont trop élevés pour le matériel de votre ordinateur. Dans certains cas, OBS indiquera « Encoding overloaded ! » 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 lui 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éduire 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 fonctionne le mieux pour vous.
Baisser votre taux d’images
Si vous faites du streaming au-dessus de 30 FPS, une autre option est à considérer 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.
Changer votre préréglage x264
L’encodeur vidéo, x264, 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 l’option 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 pourrez 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 savoir sur quoi le régler.
Essayez 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 baisse de qualité quelque peu perceptible pour un même débit binaire. En général, les encodeurs basés sur le GPU n’ont pas tout à fait une qualité aussi élevée que le x264 pour un débit binaire donné, mais l’avantage est une charge considérablement réduite sur votre CPU.
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
Vérifiez vos sources
Certaines sources comme 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 si ce n’est pas en plein écran). La caméra Logitech C920, en particulier, a des problèmes sur de nombreux systèmes lorsqu’elle fonctionne à la résolution maximale de 1080p. Les sources du navigateur peuvent également consommer du CPU s’il y a des animations complexes ou des scripts actifs.
Voyez cette vidéo pour une explication plus détaillée (bien que la vidéo soit un peu ancienne et utilise OBS Classic, ces informations sont encore très précises !) : https://www.youtube.com/watch?v=a274YynXRwI
Mettre à niveau votre matériel
Certains CPU sont si faibles qu’ils sont presque sans espoir pour obtenir quelque chose de décent qui fonctionne. Les processeurs à double cœur et les APU d’AMD sont particulièrement connus pour cela. Ils pourraient être en mesure de s’en sortir avec 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 avez un Sandy Bridge i5 ou i7 ou plus récent, ou un AMD 6-core ou 8-core ou plus récent, alors vous devriez être en mesure d’arriver à un flux d’apparence décente à des résolutions et des taux d’images raisonnables.
OBS est différent de beaucoup d’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 à leur époque, mais sont maintenant de très vieilles cartes qui feront que les performances d’OBS en souffriront grandement.
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 certains 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, mais utilisez-le avec prudence.