Was ist mit Zanders Streaming PC passiert?

Christopher | chd_
Aug 8, 2017 · 6 min read

TL;DR:
Zander baut Streaming PC mit AMD Ryzen 7 1700x. Verdacht auf zu kleinen Kühler -> Kühler getauscht. Verdacht auf Probleme mit den VRMs auf dem Motherboard -> Motherboard getauscht. Funktionierte. Austausch der Kabelbinder durch die richtige AM4 Halterung, irgendwas ist schiefgelaufen, PC kaputt.

Da sich der Streaming PC von Zander aktuell im Delirium befindet, möchte ich einmal zusammenfassen, was alles schief gelaufen ist und außerdem Tipps an Streamer geben, die sich auch einen bauen möchten.

Wofür braucht man eigentlich einen Streaming PC?

In OBS hast du die Wahl zwischen x264, dem Encoder deiner Grafikkarte und im Falle einer Intel CPU auch Intel QuickSync. x264 wird ausschließlich auf der CPU ausgeführt, es handelt sich hierbei um Software. Der Encoder deiner GPU belastet diese nicht unwesentlich mehr und auch Intel QuickSync kann auf spezielle Bereiche in der CPU zurückgreifen.

Der Nachteil von QuickSync und z.B. NVENC (Encoder einer Nvidia GPU) ist, dass eine hohe Bitrate benötigt wird um die gleiche Qualität zu erreichen. Auf Twitch existiert leider ein Limit dieser Bitrate von 6.000 kbit/s. Somit muss ein Streamer auf den CPU-lastigen x264 Encoder zurückgreifen.

Der x264 kann je nach CPU mit sogenannten Presets justiert werden. Diese reichen von ultrafast bis slower. Je weiter man in Richtung slower geht, desto mehr wird die CPU belastet. Hier folgt das Problem mit einem einzelnen PC: Die CPU schafft es nicht, gleichzeitig das Spiel und den Stream abzuarbeiten, es kommt zu Framedrops beim encodieren. Die einzige Möglichkeit ist, das Preset in Richtung ultrafast zu verstellen, was sich aber negativ auf die Qualität auswirkt, in schnellen Bewegungen kommt es zu Artifakten.

Die Idee hinter einem Streaming PC ist es, die CPU-lastige Encodierung mit x264 auf einen extra PC auszulagern. Das hat den Vorteil, dass Presets im Bereich medium erreichbar sind und die Qualität merklich verbessert wird.

Es gibt nun verschiedene Möglichkeiten, wie ihr das Signal von dem Gaming PC auf den Streaming PC bekommt. Entweder mit einer Capture Card oder über das Netzwerk.

Die Capture Card Variante

Die Capture Card greift das Videosignal des Gaming PCs ab und sendet dieses über PCIe (eingebaute Variante, z.B. HD60 Pro) oder USB 3.0 (HD60s) an euer auf dem Streaming PC laufendes OBS. Hier nehmt ihr nun alle Einstellungen, wie Szene und Overlays, vor.

Vorteile:

  1. Für viele Streamer ist dieses Setup gewohnt, da sie bereits Konsolen mit einer Capture Card aufzeichnen

Nachteile:

  1. Das Streamen von 120/144 Hz oder 4k60 Content ist nicht mit vernünftigen Preisen oder ohne Screen Tearing erreichbar
  2. Es kann nur ein Bildschirm und dieser nur komplett gestreamt werden. (Ausschnitte über OBS sind machbar, aber nervig)

Die Variante über das Netzwerk

Hier läuft eine OBS Instanz auf dem Gaming PC, welche mit NVENC oder Intel QuickSync und einer hohen Bitrate (~25.000 kbit/s) encodiert. Dieser Stream wird lokal an den Streaming PC gesendet, auf dem eine spezielle Software (Linux mit nginx-rtmp-module und ffmpeg) läuft, welche den Stream empfängt, mit x264 neu encodiert und an Twitch sendet. OBS verursacht auf dem Gaming PC quasi keine Last. Dadurch könnt ihr auch durch qualitativ hochwertigere Presets profitieren.

Vorteile:

  1. Wenn ihr bereits Linux Erfahrung mitbringt (oder einen kennt, der euer System wartet) ist dies von Vorteil
  2. Es fällt keine Last für die graphische Oberfläche von Windows an

Nachteile:

  1. Die Einrichtung ist für einen Linux Anfänger sehr schwierig, trotz Tutorial werdet ihr meist nicht wissen, was ihr da überhaupt getan habt und könnt das System bei Fehlern nicht selber warten

Der Anfang

Wir benötigen für die qualitativ hochwertigen Presets einen Prozessor, welcher möglichst schnell in x264 ist. Dies lässt sich aus Benchmarks ermitteln. x264 kann zwar parallelisiert werden, aber auch nicht über sehr viele Kerne hinweg. Ein Prozessor mit 8–16 Kernen ist hier ideal.

Durch die Neuerscheinung von Ryzen und vor allem den 8 Kernern schuf AMD eine gute Alternative zu dem sonst häufig in Streaming PCs verbauten i7-5960X. So befinden sich diese beiden Prozessoren beinahe auf Augenhöhe, was die x264 Performance angeht, der i7-5960X kostet allerdings 1.000€, während z.B. ein Ryzen 7 1700x für bereits 340€ über die Ladentheke geht.

Für den Streaming PC von Zander fiel somit die Wahl auf den Ryzen 7 1700x und die Konfiguration mit der Capture Card (in unserem Fall die HD60s), da Zander Linux-fremd ist. Im folgenden findet ihr eine grobe Übersicht der ersten Konfiguration:

  • CPU: Ryzen 7 1700x
  • Motherboard: GIGABYTE GA-AB350M-HD3
  • RAM: Crucial 8GB Kit (4GBx2) DDR4 2133
  • GPU: MSI NVIDIA GTX 1050
  • Kühler: Be Quiet

Der PC wurde zusammengebaut, getestet und taktete bei Last herunter. Erste Idee war, den Kühler zu tauschen. In einem lokalen Computergeschäft wurde ein ARCTIC Freezer 13 gekauft, eingebaut, gleiches Problem. Der neue Kühler hätte die Abwärme des Ryzens abtransportieren müssen, aber es hat nicht funktioniert.

Ein Video zur aktuellen Lage

Nach ein paar Gesprächen mit Max kam außerdem das Motherboard in Frage. Auf diesem sind sogenannte VRMs (Voltage Regulator Modules) verbaut, welche dem Prozessor die benötigte Spannung zur Verfügung stellen. Diese können auch überlasten und den Prozessor dazu bringen runterzutakten. Außerdem kam Zander mit Aquatuning ins Gespräch, sodass gleich eine 240er Wasserkühlung bereitstand. Zusammen mit einem neuen ASUS Prime X370-PRO wurde diese auch eingebaut. Auch hier gab es zuerst ein Problem mit dem Case (240er Radiator konnte nicht befestigt werden), aber nichts was man nicht mit einer Bohrmaschine lösen könnte.

Das nächste Problem war deutlich tiefgreifender: Die Halterung der Wasserkühlung für dem AM4 Sockel fehlte. Dadurch konnte dieser nicht mit Schrauben befestigt werden. Ich entschied mich schlussendlich Kabelbinder einzusetzen, damit Zander endlich streamen kann.

Hier versuche ich gerade den Kühler mit Kabelbindern zu befestigen

Der PC wurde erneut getestet und er funktionierte mit 1920x1080 60fps, dem medium Preset von x264 und einer Bitrate von 6.000 kbit/s.

Story zu Ende? Nein. Zander streamte eine Zeit lang mit seinem neuen PC bis er nun endlich den Kühlblock von seinen Kabelbindern befreite und die richtige Halterung (welche mittlerweile von Aquatuning zugeschickt wurde) befestigte. In diesem Prozess beschädigte er entweder die CPU oder das Motherboard, sodass der PC zwar startet, die CPU aber bei den Einstellungen, welche vorher funktionierten, nicht mehr hinterher kam. Dies führte zu Lags im Stream.

Wie es jetzt mit dem Streaming PC weitergeht, wird die nächste Zeit zeigen. Zander ist auch nicht unbedingt mit dem 2 PC Workflow zufrieden und überlegt wieder mit einem einzelnen PC zu streamen.

Tipps für andere Streamer

Die neue Prozessorreihe von AMD sind keine schlechten Prozessoren. Trotzdem solltet ihr beachten, wie ihr sie einsetzt. Wenn ihr nur spielen wollt, rate ich zu einer Intel CPU mit einer hohen Taktfrequenz (z.B. i7–7700k). Setzt ihr einen Ryzen in einem Gaming- und Streaming PC ein, so verliert ihr zwar wenige FPS in aktuellen Spielen, erhaltet aber die Möglichkeit einen besseren Preset zu wählen (vielleicht aber nicht gerade medium).

Am besten schlägt sich der AMD Ryzen schlussendlich in einem reinen Streaming PC. Als Vergleich gilt hier der i7-5960X, sowie der neuere i7–6900k. Beide sind deutlich teurer als der AMD Ryzen 7, schlagen sich aber bei x264 nicht unbedingt viel besser. Wer also das beste Preis/Leistungs-Verhältnis ergattern möchte, der sollte besser zum Ryzen greifen. Solltet ihr euren Ryzen voll auslasten, was ihr beim Encodieren tut, so greift besser zu den etwas besser ausgestatteten Boards. Das ASUS Prime X370-PRO schneidet durchweg ganz gut ab und ist von meiner Seite zu empfehlen.

Hier findet ihr das finale Setup von Zanders Streaming PC:

  • CPU: Ryzen 7 1700x
  • Motherboard: ASUS Prime X370-PRO
  • RAM: Crucial 8GB Kit (4GBx2) DDR4 2133
  • GPU: MSI NVIDIA GTX 1050
  • Kühlung: Alphacool Eisbaer 240 CPU — Black

Wer sich mit Linux auskennt kann auch den Weg über den nginx-rtmp-module und ffmpeg gehen. Dies eliminiert die Probleme, die bei 120 / 144 Hz Content auftreten. Hier gibt es bereits viele Tutorials im Netz (manche sind allerdings weniger gut)

Was ist eigentlich mit Audio?

Dieses Thema ist ebenso kompliziert. Ich kann euch nur folgendes raten:

  • Finger weg von Behringer (!!!!!), greift lieber zu z.B. Mackie (Wir setzen ein Mackie 802 VLZ4 ein)
  • Wir haben mit dem Focusrite 2i2 2nd Gen erhebliche Schwierigkeiten, was vermutlich am Treiber liegt. Nehmt hier einfach zwei Roland UA-22 oder Steinberg UR22
  • Legt alle Kabel symmetrisch aus. Der Vorteil von symmetrischen Kabeln liegt in der geringeren Störanfälligkeit. Dafür müsst ihr allerdings beide PCs mit Audiointerfaces bestücken, welche symmetrische Ein- UND Ausgänge besitzen (vorne XLR/TRS (Klinke)-Kombo, hinten meist TRS).

Nachdem wir alle diese Punkte beachtet haben, haben wir das Rauschen auf ein Minimum reduziert und das Audiosetup läuft soweit. Andere Streamer setzen z.B. auf Toslink zu Cinch Adapter, da Cinch aber nicht symmetrisch ausgelegt ist, können auch hier Störungen über das Kabel in das Signal gelangen.

    Christopher | chd_

    Written by

    18. Macht eigentlich den ganzen Tag viel Nichts.

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
    Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
    Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade