Kodowanie wideo jest operacją bardzo obciążającą procesor, a OBS nie jest wyjątkiem. OBS używa najlepszej dostępnej biblioteki kodowania wideo open source, x264, do kodowania wideo. Jednakże, niektórzy ludzie mogą doświadczyć wysokiego wykorzystania procesora, a inne programy uruchomione na komputerze mogą doświadczyć pogorszenia wydajności, gdy OBS jest aktywny, jeśli ustawienia są zbyt wysokie dla sprzętu komputera. W niektórych przypadkach, OBS powie „Encoding overloaded!” na swoim pasku stanu, co oznacza, że komputer nie może kodować wideo wystarczająco szybko, aby utrzymać ustawienia, które masz ustawione, co spowoduje zatrzymanie wideo po kilku sekundach lub okresowe zacinanie się.

Przeciążenie kodowania

Oto kilka sposobów na zmniejszenie wykorzystania zasobów i, miejmy nadzieję, sprawienie, że zarówno OBS, jak i twoje programy będą działać szybciej podczas kodowania:

Zmniejsz rozdzielczość wyjściową

Rozdzielczość, w której kodujesz, ma największy wpływ na wykorzystanie procesora. Na przykład rozdzielczość 1080p ma ponad dwukrotnie większą liczbę pikseli w każdej klatce niż 720p, co odpowiednio zwiększa użycie procesora. Najczęstszym sposobem zmniejszenia użycia CPU jest zmniejszenie rozdzielczości. Gdy zmniejszasz rozdzielczość, OBS bierze scenę i zmniejsza ją tak bardzo, jak mu każesz, zanim przekaże ją do kodera. Może chcesz mieć rozdzielczość podstawową 1080p, bo w takiej rozdzielczości jest twoja zawartość, ale twój procesor może nie być w stanie zakodować nieskalowanego wideo 1080p. Możesz więc zmniejszyć rozdzielczość do 720p (lub niższej), aby zachować ten sam obraz, ale użyć mniejszej rozdzielczości w celu zmniejszenia obciążenia procesora.

Możesz zmienić stopień zmniejszenia rozdzielczości w Ustawienia > Wideo > Rozdzielczość wyjściowa (skalowana). Możesz zachować rozdzielczość bazową (Canvas) na tym samym poziomie, aby układ nie uległ zmianie, a następnie zmniejszyć rozdzielczość do takiej, która zapewni Ci dobrą wydajność.

Różne filtry zmniejszania rozdzielczości (bilinear, bicubic i Lanczos) po prostu zmieniają algorytm używany do zmniejszania obrazu: bilinear jest najszybszy i zajmuje najmniej zasobów, ale nie wygląda tak dobrze, podczas gdy Lanczos zajmuje więcej zasobów, ale wygląda lepiej. Wydajnościowo jednak nie różnią się one aż tak bardzo. Nie krępuj się eksperymentować z tym, który filtr działa najlepiej dla ciebie.

Niższa częstotliwość odświeżania

Jeśli strumieniujesz powyżej 30 FPS, inną opcją do rozważenia jest obniżenie częstotliwości odświeżania do 30 FPS. Zmniejszy to liczbę klatek, które twój procesor musi przetworzyć w danym przedziale czasowym, co zmniejszy zużycie procesora. Możesz nawet poczuć potrzebę obniżenia liczby klatek na sekundę do czegoś poniżej 30 FPS, w przypadku gdy twój procesor jest naprawdę słaby i walczy.

Zmień ustawienia wstępne x264

Koder wideo, x264, ma wiele „ustawień wstępnych”, które zmienią odpowiednio jakość wideo i użycie procesora. Domyślnym ustawieniem OBS jest veryfast, co w większości przypadków jest najlepszą równowagą pomiędzy zużyciem procesora a jakością wideo. To ustawienie może być zmienione w Ustawieniach > Wyjście (sprawdź Enable Advanced Encoder Settings jeśli jesteś w trybie Prostym) > Preset Encodera.

Nazwa presetu jest przeznaczona do wskazania jak „szybko” koder powinien działać. Szybsze ustawienia będą używać mniej CPU kosztem jakości obliczeń. Wolniejsze ustawienia użyją więcej obliczeń dla jakości, ale użyją znacznie więcej CPU.

Na przykład, jeśli chciałbyś spróbować zmniejszyć użycie CPU bez zmiany rozdzielczości lub FPS, możesz zmniejszyć użycie CPU zmieniając ustawienia x264 na superszybkie lub ultraszybkie, a x264 spędzi mniej czasu próbując sprawić by obraz wyglądał dobrze, i oszczędzi ci trochę cykli CPU. Obraz może wyglądać na nieco bardziej zbity lub rozpikselowany, ale będziesz w stanie zachować swoją rozdzielczość/fps.

Bądź bardzo ostrożny z tym ustawieniem, ponieważ nawet jeden krok szybciej lub wolniej może mieć ogromny wpływ na użycie procesora. Na przykład, ustawienie o nazwie „faster” może zużywać dwa razy więcej procesora niż ustawienie „veryfast”, znajdujące się tuż nad nim. Zawsze ustawiaj je z powrotem na „veryfast”, jeśli nie jesteś pewien, na co je ustawić.

Spróbuj Quicksync, AMF lub NVENC

Quicksync, AMF i NVENC to sprzętowe kodery, które są dostępne odpowiednio w najnowszych zintegrowanych układach GPU firmy Intel, nowszych układach GPU firmy AMD i najnowszych układach GPU firmy nVidia. Możesz odciążyć te sprzętowe kodery od obciążenia związanego z kodowaniem, kosztem zauważalnego spadku jakości przy tej samej przepływności. Ogólnie rzecz biorąc, kodery oparte na GPU nie mają tak wysokiej jakości jak x264 dla danej przepływności, ale korzyścią jest znaczne zmniejszenie obciążenia CPU.

Jeśli masz jeden z wymienionych koderów sprzętowych, możesz sprawdzić czy te opcje są dostępne w ustawieniach kodowania.

  • Quicksync jest nieco trudniejszy do skonfigurowania, ale tutaj jest przewodnik: https://obsproject.com/forum/resources/how-to-use-quicksync.82/
  • Podobnie, tutaj jest przewodnik rozwiązywania problemów dla kodera AMF: https://github.com/Xaymar/obs-studio_amf-encoder-plugin/wiki/Troubleshooting-Guide

Sprawdź swoje źródła

Niektóre źródła, takie jak kamery internetowe i karty przechwytujące, mogą zużywać dużo CPU przez samo przebywanie na twojej scenie, ponieważ muszą dekodować dane wideo. Jeśli używasz kamery internetowej, sprawdź, czy nie działa ona w zbyt wysokiej rozdzielczości (więcej niż 480p jest rzadko potrzebne, jeśli nie jest to pełny ekran). Zwłaszcza Logitech C920 ma problemy w wielu systemach, gdy działa w pełnej rozdzielczości 1080p. Źródła przeglądarkowe mogą również zużywać CPU, jeśli aktywne są złożone animacje lub skrypty.

Sprawdź to wideo dla bardziej szczegółowego wyjaśnienia (podczas gdy wideo jest trochę stare i używa OBS Classic, te informacje są nadal bardzo dokładne!): https://www.youtube.com/watch?v=a274YynXRwI

Upgrade your hardware

Niektóre procesory są tak słabe, że są prawie beznadziejne dla uzyskania czegokolwiek przyzwoicie działającego. Dwurdzeniowe procesory i APU AMD są z tego powodu szczególnie notoryczne. Być może uda im się uzyskać strumień 360p w 25 FPS przy użyciu ustawienia ultraszybkiego, ale z pewnością nie będzie on wyglądał dobrze. Decyzja należy do Ciebie. Jeśli masz procesor Sandy Bridge i5 lub i7 lub nowszy, lub AMD 6-rdzeniowy lub 8-rdzeniowy lub nowszy, to powinieneś być w stanie uzyskać przyzwoicie wyglądający strumień w rozsądnych rozdzielczościach i z rozsądną liczbą klatek na sekundę.

OBS różni się od wielu innych programów do strumieniowania/nagrywania tym, że wykorzystuje twój procesor graficzny w celu uzyskania lepszej wydajności. Niestety, na niektórych starszych lub budżetowych modelach układów GPU może to stanowić wąskie gardło dla wydajności Twojego strumienia. Jest to zazwyczaj spowodowane niską przepustowością pamięci i/lub niską liczbą rdzeni procesora. Układy GPU takie jak nVidia GTX serii 200 (250, 260, 280) oraz 9800GT i wcześniejsze były kiedyś bardzo potężne, ale obecnie są to bardzo stare karty, które sprawią, że wydajność OBS znacznie ucierpi.

Inne programy/gry również wykorzystują CPU

Niektóre programy (szczególnie gry) mogą wykorzystywać dużo CPU. Obejmuje to niektóre oczywiste, takie jak Battlefield 4, i niektóre nieoczywiste, takie jak gry odtwarzane przez emulatory. Jeśli gra używa dużo CPU, może zakłócać działanie OBS, tak samo jak OBS może zakłócać działanie gry, więc będziesz musiał rozważyć zmniejszenie tych ustawień, aby skompensować grę, w którą grasz. Można również użyć ustawienia „Priorytet procesu” w Ustawienia > Zaawansowane, aby zwiększyć lub zmniejszyć priorytet procesora programu. To jest wspólne, aby dać OBS „Powyżej normalnego” priorytet procesu, aby zapewnić, że OBS jest priorytetem przez system i działa płynnie, choć używać go z ostrożnością.

Articles

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.