Na topie

Co to jest sprzętowy koder Open Broadcaster (OBS)?

Autor:

więcej artykułów ze strefy:
Gry

Tłumaczymy co to jest sprzętowy koder i dlaczego warto z niego korzystać przy streamowaniu rozgrywki w OBS na przykładzie nowego rozwiązania Nvidii.

  • Co to jest sprzętowy koder Open Broadcaster (OBS)?
A A

Open Broadcaster (OBS) to jeden z najlepszych programów do nagrywania i streamowania rozgrywki w grach. Aplikacja współpracuje z najpopularniejszymi serwisami streamingowymi, oferuje sporo przydatnych funkcji, a przy tym jest darmowa. Wysoka jakość przesyłanego materiału wymaga odpowiednio wydajnego komputera, ale można tutaj wykorzystać również sprzętowy koder obrazu. Dlaczego warto zwrócić uwagę na to rozwiązanie?

Streamerzy podczas transmitowania swojej rozgrywki muszą znaleźć odpowiedni kompromis między jakością przesyłanego obrazu a obciążeniem komputera. Lepsza jakość zachęci widzów, ale będzie wymagać większej mocy obliczeniowej i spowolni działanie komputera.

OBS - konfiguracja z dwoma komputerami

Jeszcze do niedawna jednym z najpewniejszych sposobów było zaangażowanie dwóch komputerów, z których jeden odpowiadał za uruchomienie gry, a drugi za przechwytywanie obrazu. Alternatywą było wykorzystanie jednego komputera wyposażonego w grabber wideo. Niestety, obydwa rozwiązania wymagały dodatkowych nakładów finansowych i często były trudne w konfiguracji.

Co to jest sprzętowy koder Open Broadcaster (OBS)?

Lepszym pomysłem okazało się wykorzystanie układu graficznego w roli sprzętowego kodera, który obciążył główny procesor komputera, a przy tym zapewnił dobrą jakość przesyłanego materiału i nie wymagał dodatkowych inwestycji. Można tutaj wyszczególnić technologię Intel Quick Sync Video (QSV) bazującą na zintegrowanym układzie graficznym w procesorach Intela oraz Nvidia NvEnc bazującą na karcie graficznej Nvidia GeForce GTX.

Warto zwrócić uwagę na to drugie rozwiązanie, szczególnie, że niedawno zostało ono dodatkowo usprawnione.

Nvidia NvEnc OBS

Przy okazji premiery kart graficznych GeForce GTX 16 i RTX 20 z generacji Turing, Nvidia wprowadziła usprawniony, sprzętowy koder NvEnc, który został zoptymalizowany specjalnie z myślą o aplikacji OBS. Co ważne, nowy pakiet również radzi sobie jeszcze lepiej z przetwarzaniem transmitowanego materiału.

Nvidia NvEnc Turing - obciążenie procesora

Nowa wersja aplikacji i nowy koder NvEnc zapewniają dużo mniejsze obciążenie procesora, co przekłada się na mniejsze spadki wydajności. Z optymalizacji wprowadzonych w aplikacji mogą też korzystać posiadacze starszych kart z generacji GeForce GTX 600, 700, 900 i 10.

Fortnite - kodowanie OBS

Koder NvEnc z generacji Turing oferuje również dużo lepszą jakość transmitowanego materiału. Producent chwali się, że nowe karty zapewniają o 15% wyższą wydajność w stosunku do kart graficznych poprzedniej generacji Pascal. Oznacza to, że można tutaj ustawić o 15% niższy bitrate przy zachowaniu tego samego poziomu jakości obrazu.

Nvidia NvEnc Turing - jakość transmisji

Mało tego, użytkownicy mogą również uzyskać jakość obrazu porównywalną z kodowaniem x264 Medium, która do tej pory była dostępna tylko dla konfiguracji składających się z dwóch komputerów.

Źródło: Nvidia, Open Broadcaster Software, inf. własna

Odsłon: 7348 Skomentuj newsa
Komentarze

32

Udostępnij
  1. Ari93
    Oceń komentarz:

    4    

    Opublikowano: 2019-03-25 12:04

    h264? Ile można męczyć tak stary i niewydajny standard, już chyba czas najwyższy przeskoczyć na h265... nie mówcie tylko że to wymaga jakiś niebotycznych mocy obliczeniowych, telefony o TDP pewnie 1W jak nie mniej ogarniają nagrywanie w 4k 60fps 40 Mbps a gdzie tu takie wielkie maszyny obliczeniowe jakimi są komputery PC.

    Skomentuj

    1. ghasz
      Oceń komentarz:

      0    

      Opublikowano: 2019-03-25 12:29

      Częściowo masz rację - przydało by się zmienić kodek, ale nie nastąpi to na h265 bo ten jest ograniczony płatną licencją i bardziej spodziewam się skoku do AV1

      Skomentuj

    2. ghasz
      Oceń komentarz:

      0    

      Opublikowano: 2019-03-25 12:29

      Częściowo masz rację - przydało by się zmienić kodek, ale nie nastąpi to na h265 bo ten jest ograniczony płatną licencją i bardziej spodziewam się skoku do AV1

      Skomentuj

    3. Damian Szymański
      Oceń komentarz:

      2    

      Opublikowano: 2019-03-25 14:57

      Z nagrywaniem tak, ale nie ze streamingiem. Myślisz, że dlaczego te wielkie serwisy jak Twitch czy Youtube jeszcze się z tym nie uporały?
      Jak zobaczysz sobie testy to nvenc (x265) wymaga dużo mniejszej szybkości łącza niż x264 to steamowania ale niestety urządzenia bardzo słabo radzą sobie z tzw. live encoding. Co w połączeniu z ciężkimi obwarowaniami licencyjnymi sprawia, że ten kodek niczego wielkiego w dziedzinie streamowania nie osiągnie. Chociaż w wielu aspektach wypada lepiej niż x264 czy VP9. Już prędzej AV1 przejmie streaming niż hevc.

      Skomentuj

  2. Doctor
    Oceń komentarz:

    -5    

    Opublikowano: 2019-03-25 12:41

    Odnoszę wrażenie, że autorowi zieloni sypnęli pod stołem, bo jako-tako wiedzę na temat to ma znikomą.

    Koder NVidii nie nadaje się do streamowania, nie ważne jak bardzo by go nie ulepszali. Bo co z tego, że odciążamy procesor, gdy podczas grania obciążenie GPU jest równie ważne, a nawet bardziej?

    Skomentuj

    1. rlistek
      Oceń komentarz:

      6    

      Opublikowano: 2019-03-25 13:02

      Widać, że nie masz pojęcia o czym mówisz. Ten nowy NVENC obiąża GPU może w 1% przy 0,5% obciążeniu CPU, podczas gdy porównywalny jakościowo x264 fast zżera ci większość mocy 8c/16t procka. Mówię z praktycznego doświadczenia z nagrywania/streamowania z 2700x i RTX2080 w 6kbps (maksymalny akceptowalny przez twitcha).

      Także ten nowy NVENC jak najbardziej się nadaje do streamowania jeśli nie potrzebujesz w pełni profesjonalnej jakości, którą osiągniesz jedynie encodując na osobnym komputerze z jakimś Threadripperm.
      Zależnie od gry czasem lepiej wychodzi encodowanie na x264 fast, czasem na Turingowym NVENC, ale jest to jak najbardziej realna i użyteczna alternatywa i w zasadzie jedyne sensowne obecnie rozwiązanie jeśli nie masz 8+ rdzeniowego procka.

      Ładnie się popisałeś ignorancją.

      Skomentuj

      1. Doctor
        Oceń komentarz:

        -4    

        Opublikowano: 2019-03-25 15:17

        Widać, że nigdy z OBSem, lub czymkolwiek do nagrywania / streamowania nigdy nie styczności nie miałeś. :)

        Na slajdach napiszą ci że obciążenie to 1%, a ty to wszystko łapiesz jak pelikan. W rzeczywistości NVENC opłaca się korzystać tylko w wypadku gdy CPU jest mocnym bottleneckiem - tak jak w twojej konfiguracji - w sytuacji gdy CPU i GPU są porównywalnie mocne, koder x264 obniża FPSy w znacznie niższym stopniu niż koder NV.

        Połącz swojego RTXa z procesorem o mocnym jednym rdzeniu i taktowaniem powyżej 5GHz (lub co najmniej powyżej 3.7-4.3GHz Threadrippera), a zobaczysz że to nie koder NVidii jest tak dobry, a po prostu karta się nudzi bo gdy grając bez streamowania procek działa na 100%, to karta działa na max. 70-80%.

        Skomentuj

        1. rlistek
          Oceń komentarz:

          4    

          Opublikowano: 2019-03-25 16:42

          Mam ci screeny albo nagrania wrzucić z OBSa i użycia zasobów czy może wg. ciebie ma mi robić róźnicę 217fps zamiast 212fps w grze podczas encodowania, gdzie często, zależnie od gry, na x264 jest znacznie większy spadek bo się proc dusi?
          Czy może mam tobie wierzyć na słowo, pomimo tego, że mój własny sprzęt pokazuje mi zupełnie coś innego niż twierdzisz?

          Skończ z tą pajacerką i nie wypowiadaj się na tematy o których nie masz pojęcia, to może się kolejny raz jak teraz tutaj nie skompromitujesz.

          Skomentuj

          1. Doctor
            Oceń komentarz:

            -1    

            Opublikowano: 2019-03-25 19:53

            Sam mi nie zaprzeczyłeś, bo też powiedziałem że to proc się dusi. ;) Ale jak jest się pozbawionym umiejętności czytania ze zrozumieniem to tak później jest.

            Jeżeli grasz w CS:GO lub inną popierdółkę która wykręca 212FPS bez obciążania GPU, to oczywiście że NVENC będzie lepszym rozwiązaniem. Włącz coś bardziej wymagającego, to już nie będzie taki dobry.

            Ale łatwiej zwyzywać kogoś, bo podważa twój "autorytet", zamiast zastanowić się czy przypadkiem nie ma racji. :E

            Skomentuj

          2. rlistek
            Oceń komentarz:

            1    

            Opublikowano: 2019-03-26 00:48

            Proszę bardzo:
            https://www.youtube.com/watch?v=VP-sgNjKBrY

            Overwatch ultra settings.

            x264:
            GPU usage ~97%
            CPU usage ~80%
            211-241fps

            nvenc:
            GPU usage ~98%
            CPU usage ~25%
            209-240fps

            Także nie ma to jak "opinia eksperta", panie Doctor.

            Skomentuj

          3. Doctor
            Oceń komentarz:

            -2    

            Opublikowano: 2019-03-26 07:49

            Na własnym filmiku pokazałeś, że obciążenie GPU wzrosło z 50-60% do 70-80% (task manager), więc nie wiem czemu kłamiesz z tym 97%? Chyba że uważasz go za niemiarodajnego, w przeciwieństwie do afterburnera, ale w takim wypadku po co go włączać?

            Z tego co ja widzę, Overwatch kiepsko skaluje się z rdzeniami, masz 25% wykorzystania CPU z czego połowa wątków jest nieużywana a dwa są wykorzystywane w 100%. Do eksperta mi daleko, ale bottlenecka poznałby tutaj nawet amator.

            Jak najbardziej, NVENC nadaje się do streamowania - wtedy gdy masz spory zapas mocy GPU. Gdy karta grafiki nie jest obciążana przez procesor, to x264 pozostaje lepszą opcją - przynajmniej w moim przypadku to się sprawdza. Gdybyś zamiast 2080 miał w budzie 2070, to streamując na x264 miałbyś tyle samo FPSów (to wciąż CPU bottleneck), ale przy NVENC mógłbyś zaliczyć spadek.


            Ale jesteś zbyt przekonany o swojej nieomylności, więc chyba rzucam niczym grochem o ścianę. ;)

            Skomentuj

          4. rlistek
            Oceń komentarz:

            1    

            Opublikowano: 2019-03-26 08:50

            Tu nie chodzi moja nieomylność, a to że nie masz pojęcia o czym mówisz. Twoje wypowiedzi to jak to mówią "gdzieś dzwonią, ale nie wiem w którym kościele".

            Użycie GPU pokazuje afterburner, task manager ma ci tam pokazywać użycie poszczególnych rdzeni, bo poza tym do niczego więcej się chyba nie nadaje. Także to nie ja "kłamię" a ty nie masz pojęcia o monitorowaniu użycia zasobów PC.

            Nie wiem też o jakim bottlenecku mówisz jak GPU elegancko chodzi na tych 97-98%. Overwatch jest akurat bardzo dobry pod względem technicznym, ale jak ci nie pasuje to ci mogę nagrać inna gierkę tylko wtedy i tak zaczniesz pewnie gadać te bzdury przeczytane na jakiś amatorskich forach myśląc, że wiesz o czym mówisz. Testowałem Wiedźmina 3 parę tygodni temu i wyniki były takie same - zarówno na x264 jak i nvenc FPS był taki sam z dokładnością do 1 czy dwóch klatek (przy 130-150fps). Nvenc po prostu ma niesamowicie mały narzut na GPU, a co najważniejsze, przestał odbiegać jakościowo na niskim bitrate, co wcześniej go właśnie skreślało jako encoder do streamowania. Nie żeby już co najmniej kilka osób ci to tu mówiło, a ty dalej swoje.

            Także sorry, ale to ty wchodzisz tutaj, bez żadnego doświadczenia, nie widząc nowego nvenc nawet na oczy i próbujesz ogłaszać wszem i wobec, że ten się do niczego nie nadaje, a slajdy to ściema i oszukują, bo na starej implementacji na starej karcie ci się nie podobało. O tym jest właśnie ten news, że jest nowa wersja, która w przeciwieństwie do starej jest realną alternatywą dla x264 do streamingu. Nie tylko ja ci to piszę, a ty dalej pajacujesz, eh...

            Kup sobie RTXa, sprawdź na własnym kompie na jakiej tam sobie chcesz gierce i tyle. To tego czasu nie masz żadnych podstaw, żeby się wypowiadać w temacie.

            Skomentuj

          5. Doctor
            Oceń komentarz:

            0    

            Opublikowano: 2019-03-26 12:41

            Ale jad z ciebie bije. Jakieś problemy w życiu prywatnym? Nie napisałeś jeszcze ani jednego komentarza bez personalnych docinek.

            Tysiące ludzi uważa, że Ziemia jest płaska. Czy to znaczy, że mam im wierzyć na słowo? Osobiście wolę jakieś dowody, a nie gderanie ludzi "że się nie znam", bo brzmi to jak próbowanie na siłę uzasadnić swój zakup. "Dopóki nie kupisz RTXa, nie masz żadnych podstaw by się wypowiadać"... Taa. :E

            Na szczęście mam twój filmik, który udowadnia że użycie GPU wzrasta z 60% do 80% (task manager, jeżeli nie widzisz to zakreślę ci to kółkiem). Żeby wierzyć że wskazania afterburnera są w tym przypadku prawidłowe to chyba trzeba chcieć w to wierzyć, bo że coś z niczego się bierze, czyli kodowanie przy nie jest w stanie< zmusić GPU na poziomie 1080Ti / 2080 do działania na 100% (spójrz na jakikolwiek test - po połączeniu tej karty z np. i9-9900K, wynik wzrasta o dobre 30-50% w porównaniu do 2700X), bardzo wątpię w te 97% obciążenia, a 60-65% bez kodowania i 80-85% wydaje się bardziej prawdopodobne. Chyba, że masz coś na obronę swojej tezy o niemal 100% obciążeniu? Wciąż czekam.

            Póki co, pozostaję sceptyczny. Poznałem jednak swoją odpowiedź na pierwsze pytanie - tutejszym użytkownikom nie trzeba dopłacać, aby ubóstwiali NVidię. :E

            Skomentuj

          6. rlistek
            Oceń komentarz:

            0    

            Opublikowano: 2019-03-27 00:56

            Irytuje mnie ignorancja, stąd te docinki.

            W każdym razie proszę bardzo. Aż mnie ciekawi czy wreszcie do ciebie dotrze czy dalej będziesz robił z siebie idiotę.

            https://youtu.be/vrMh8SJps8o

            Co teraz powiesz? Octane używa tylko ~40% gpu do renderowania, co nie?

            Swoją drogą, zanim się jeszcze spalisz ze wstydu to wymień mi jedną grę do której streamowania nowy nvenc się wg ciebie nie nadaje, bo chyba już sam nie wiesz o się w ogóle czepiasz.

            Skomentuj

          7. bandan
            Oceń komentarz:

            0    

            Opublikowano: 2019-03-25 23:24

            Chyba sobie gościu żartujesz. Weź sie doucz a nie piszesz bzdury na ogólnym forum.

            Skomentuj

        2. rahl_r
          Oceń komentarz:

          1    

          Opublikowano: 2019-03-25 18:12

          Doktorze ulecz się sam i przestań pisać głupoty, właśnie kodeki NvEnc są ten moment jedynym sensownym rozwiązaniem bez drugiego kompa albo kodeka sprzętowego.
          x264 na CPU zeżre ci co najmniej połowę mocy obliczeniowej nawet mocnego proca i to przy przeciętnej jakości streamu.

          Skomentuj

        3. rahl_r
          Oceń komentarz:

          0    

          Opublikowano: 2019-03-25 18:12

          dubel

          Skomentuj Historia edycji

    2. awesome1337
      Oceń komentarz:

      1    

      Opublikowano: 2019-03-25 13:05

      a ty za to tą wiedza błyszczysz

      po ostatnim patchu obicażenie gpu podczas streamowania z NvEnc jest prawie takie samo jak z uzyciem shadowplay
      czyli 2-5 klatki w najgorszym wypadku

      Skomentuj

      1. Tomasz Słowik
        Oceń komentarz:

        3    

        Opublikowano: 2019-03-25 13:29

        Ale przecież Shadow Play po prostu korzysta z NvEnc (tylko że w nim nie masz wyboru jak w OBS), a dedykowany układ do przechwytywania obrazu w ten sposób pojawił się już przy serii Geforce 9xx. Z resztą, nawet OBS wspiera go od lat. Trochę nie rozumiem dlaczego ten "artykuł" pojawił się dopiero teraz.

        Skomentuj

        1. awesome1337
          Oceń komentarz:

          1    

          Opublikowano: 2019-03-25 13:33

          dlatego ze pojawił się update który znacznie poprawił wydajność, i dodatkowo jakość na kartach rtx

          https://obsproject.com/forum/threads/nvenc-performance-improvements-release-candidate.98950/

          Skomentuj

          1. Tomasz Słowik
            Oceń komentarz:

            1    

            Opublikowano: 2019-03-25 13:55

            Ok, dzięki. Artykuł przedstawia to jednak jak jakieś niesamowite objawienie, a już wcześniej wpływ na wydajność całej platformy był znikomy przy użyciu tego enkodera. Co więcej, korzystając z karty pokroju 2060 lub wyżej ten wzrost wydajności to chwyt marketingowy - poczciwa 970 miała znikomy spadek wydajności przy używaniu tego standardu dobre 4 lata temu.

            Skomentuj

          2. awesome1337
            Oceń komentarz:

            1    

            Opublikowano: 2019-03-25 14:00

            >Artykuł przedstawia to jednak jak jakieś niesamowite objawienie

            ja już od dawna traktuje benchmark jak zrodło tylko newsów które omineły mnie na innych kanałach

            jak chce wiecej szczegółów to googluje temat na który trafiłem tutaj

            Skomentuj

    3. kitamo
      Oceń komentarz:

      1    

      Opublikowano: 2019-03-25 13:47

      Doctor, A Ty widziałes chociaz jak to działa czy spekuklujesz?
      Hardwarowo dekodowany materiał obciaża tak GPU że jest to niezauważalne dosłownie.
      Co innego jak CPU obciaża w 40% a co innego jak GPU w najgorszym przypadku w 4%.

      Skomentuj

      1. Doctor
        Oceń komentarz:

        -1    

        Opublikowano: 2019-03-25 15:56

        Widziałem, w moim przypadku enkoder NVENC przynosił znacznie gorsze rezultaty niż x264.

        Może nowa wersja coś poprawiła, ale szczerze powiedziawszy to wątpię. Obstawiam, że slajdy nie mają pokrycia w rzeczywistości, a jedyna sytuacja w której spadek FPSów jest niższy niż w przypadku kodowania przez CPU, to gdy przed włączeniem streama aktywność procesora wynosi 100%, a grafiki ~70%.

        Skomentuj

        1. rlistek
          Oceń komentarz:

          0    

          Opublikowano: 2019-03-25 16:47

          A masz w ogóle RTXa czy płaczesz, że na twoim 960 nvenc nie działa wcale tak dobrze jak piszą? Nie działa bo nie ma działać, nowy nvenc jest tylko dla RTX.

          Skomentuj

          1. rahl_r
            Oceń komentarz:

            0    

            Opublikowano: 2019-03-25 18:17

            Nie trzeba RTX, już na kartach pokroju 1070 zużycie GPU jest marginalne.

            Skomentuj

        2. kitamo
          Oceń komentarz:

          1    

          Opublikowano: 2019-03-25 17:09

          Doctor - na jakiej grafice testowales?

          Ty "obstawiasz" a ja mówie CI jak jest bo sprawdziłem to praktycznie.

          Skomentuj

          1. Doctor
            Oceń komentarz:

            0    

            Opublikowano: 2019-03-25 19:38

            Na Pascalu, także bez tych wspaniałych wodotrysków jakie NVidia obiecuje.

            Jeżeli rzeczywiście wzrosty są takie, że obracają sytuację o 180 stopni, to zwracam honor. Gdy ostatnio się tym zajmowałem, to kodowanie na GPU było znacznie gorszym rozwiązaniem i nie znam się z nikim, kto by z tego korzystał (chociaż większość osób korzysta z drugiego PC, lub zewnętrznego urządzenia, także mniejsza o to).

            Skomentuj

          2. kitamo
            Oceń komentarz:

            0    

            Opublikowano: 2019-03-25 20:21

            Czyli masz threadrippera i najwolniejszego pascala z mozliwych.,

            Ustaw sobie w OBS kodowanie na X264 i nieco lepszej jakosci niz na fast to wtedy zobaczysz jak cpu dostanie wciry.

            Skomentuj

    4. Damian Szymański
      Oceń komentarz:

      2    

      Opublikowano: 2019-03-25 14:45

      Ale z czym ty masz problem? Myślę, że masz niewielkie pojęcie o tym temacie.
      Zauważ, klasyczny x264 czyli tak zwane nagrywanie "software encoding" działa jedynie na CPU. To znaczy, że nagrywanie czy streaming obciąża jedynie CPU. To przy wymagającej grze powoduje, że wydajność gry drastycznie spada. Więc aby zachować względną płynność nawet na mocnym sprzęcie trzeba obniżać parametry nagrywanego materiału. No chyba, że do tego użyjesz CPU Threadrippera albo coś podobnego, gdzie nieużywane rdzenie będziesz mógł zaprzęgnąć do nagrywania.

      Sprzętowe (hardware encoding) zupełnie zmienia postać rzeczy i to nie tylko na sprzęcie od NVIDII gdzie jest NVENC ale również na Intelu QuickSync, również i AMD ma swoje VCE, a na Linuksie dla Intela i AMD można także korzystać z VAAPI (encoding i decoding).
      Te technologie sprawiają, że CPU jest praktycznie nie używany podczas nagrywania/streamowania. Cały nakład pracy spada na GPU. Co ciekawe obciążenie na GPU jest dosyć małe, dzięki temu osiągniemy większą płynność rozgrywki niż używając softwarowego x264.
      Wracając jednak do samego NVENC, skoro nowa wersja zapewnia jeszcze lepsze osiągi to nic tylko brać i się cieszyć. Obecnie nawet "zawodowi" streamerzy czy osoby zwyczajnie wrzucające gameplaye na youtube jeżeli nie mają dedykowanego sprzetu do nagrywania jak zewnętrzne karty do przechwytywania to właśnie korzystają z NVENC i działa to dobrze. Z ulepszonym nvenc powinno być jeszcze lepiej.

      Skomentuj

      1. bandan
        Oceń komentarz:

        0    

        Opublikowano: 2019-03-25 23:38

        Brawa dla tego pana. Ale po co ci threadripper. To jest szajs od amd. a jak ci sie procek nudzi w jakiejś grze to znaczy że to mało wymagająca gra, pewnie jakieś tetris.

        Skomentuj

    5. rahl_r
      Oceń komentarz:

      0    

      Opublikowano: 2019-03-25 18:11

      .

      Skomentuj Historia edycji

Dodaj komentarz

Przy komentowaniu prosimy o przestrzeganie netykiety i regulaminu.

Aby dodać komentarz musisz być zalogowany!