Twitch Studio-Beta-Updates
Wir werden den Support von Twitch Studio nach dem 30.•Mai•2024 einstellen. Sieh dir hier unsere Liste empfohlener Übertragungssoftware an, um die beste für dich zu finden.
Twitch Studio Beta ist unsere kostenlose Streaming-Software, die neuen Streamern den Einstieg in Twitch erleichtern soll. Mir ihr wird das Einrichten und Verwalten deines Streams zum Kinderspiel.
Wir haben Twitch Studio vor Kurzem um vier spannende neue Funktionen erweitert: Ein-Klick-Greenscreen, Fensteraufnahmen für Chrome-Browser, Vulkan-Spielaufnahmen und Unterstützung mehrerer Audioquellen. Wie und warum wurden diese Funktionen entwickelt? Lies weiter, dann erfährst du es!
Ein-Klick-Greenscreen (Chroma-Key)
Der Chroma-Key, besser bekannt als Greenscreen, ist ein Filter, der den Hintergrund von einer Webcam entfernt. Du hast ihn wahrscheinlich schon auf den Kanälen deiner Lieblings-Streamer in Aktion gesehen. Mit Greenscreens können Streamer ihrem Stream auf unterhaltsame Weise ihre eigene Note verleihen, indem sie dessen Hintergrund dynamisch verändern und ihre Inhalte noch ansprechender und ausgefeilter erscheinen lassen. Das Einrichten eines Greenscreens musst du jedoch häufig manuell vornehmen und kann zeitaufwändig sein, weil es dabei zahlreiche Einstellungen zu beachten und zu verändern gilt. Deswegen haben wir eine ganz besondere Funktion entwickelt: Mit nur einem Klick konfigurierst du Chroma-Key-Einstellungen und lässt so deinen Greenscreen automatisch erkennen.
Wie funktioniert so ein Greenscreen überhaupt? Durch die Verwendung eines einfarbigen Hintergrunds kann der Filter alle Pixel einer bestimmten Farbe finden und transparent machen. Oft setzt man dabei eine grüne Wand oder einen speziell für diesen Zweck hergestellten Bildschirm ein. Das funktioniert aber auch mit jeder anderen Volltonfarbe, die nicht im Vordergrund des Bilds zu sehen ist. Der einfarbige Hintergrund sieht für einen Menschen immer durchgehend gleich aus. Der Computer hat dazu allerdings eine ganz andere Meinung. Durch Schatten und eine ungleichmäßige Ausleuchtung interpretiert er den Hintergrund als Farbspektrum. Um das auszugleichen, ignoriert der Filter die Leuchtkraft oder Helligkeit der einzelnen Pixel und achtet nur auf deren Chrominanz (“Farbigkeit”).
Es reicht aber nicht immer aus, einfach nur die Leuchtkraft zu ignorieren. Die Unterschiede bei der Ausleuchtung ändern nämlich auch die zugrunde liegende Chrominanz der Pixel. Das muss berücksichtigt werden. Deswegen verfügt der Filter auch über eine “Ähnlichkeitseinstellung”, die bestimmt, wie dicht die Chrominanz eines Pixels an der Zielhintergrundfarbe liegen muss, um entfernt zu werden.
Wenn der Hintergrund halbwegs gleichmäßig ausgeleuchtet ist und du die Einstellungen vernünftig kalibrierst, funktioniert das alles wunderbar, doch der Weg dahin kann ziemlich frustrierend sein. Ist der Ähnlichkeitswert nämlich zu groß, werden fälschlicherweise Farben aus dem Vordergrund entfernt; ist er zu klein, sind weiterhin kleine Flecken im Hintergrund zu sehen. Das Finden der richtigen Einstellungen wird außerdem dadurch erschwert, dass sogar zwei Parameter angepasst werden müssen: die Zielfarbe und der Ähnlichkeitswert. Und da kommt der Ein-Klick-Greenscreen von Twitch Studio ins Spiel.
Unser Ein-Klick-Greenscreen-System optimiert diese Einstellungen nämlich für dich – du musst lediglich die Maus klicken. Zuerst tastet es das Bild an Positionen ab, die auf einem Greenscreen normalerweise zum Hintergrund gehören:
Die Chrominanzwerte dieser Pixel werden dann im UV-Farbraum nachgezeichnet. Wenn wir dabei eine Häufung von Punkten erkennen, können wir deren Mittelpunkt lokalisieren und ihn als Zielfarbe verwenden. Der Radius dieser Häufung dient dann als Ähnlichkeitswert:
Ohne groß herumzufummeln, können wir einfach so die optimalen Einstellungen wählen!
Chrome-Aufnahme
Streaming-Software greift traditionell auf eine API-Funktion von Windows namens BitBlt zu, um Bilder aus einem Zielfenster zu erfassen. Das ist effizient und funktioniert in den meisten Fällen gut. Einige Anwendungen setzen jedoch auf modernere Rendering-Methoden, die dazu führen, dass diese Methode versagt. Am häufigsten merkt man das, wenn man versucht, Bilder aus Chrome oder darauf basierenden Apps (z. B. Discord, Slack, Spotify, VS Code u. a.) aufzunehmen. Dabei werden Streaming-Apps nämlich gerne instabil und fehleranfällig. Das führt oft zu einem schwarzen Bildschirm, und die Streamer wissen nicht, was los ist, weil sie keine Fehlermeldung oder Ähnliches erhalten.
Als Notlösung wird dabei das erfasste Bild manchmal beschnitten oder die App, wenn möglich, in den Software-Rendering-Modus geschaltet. Leider ist keine dieser beiden Hilfsmethoden besonders praktisch. Beschneidet man den Bildschirmausschnitt, hat man schnell versehentlich etwas im Stream geteilt, das niemand sehen soll, wenn das Fenster verschoben wird. Der Wechsel in den Software-Rendering-Modus kann die verwendete App außerdem leistungsmäßig in die Knie zwingen, selbst wenn man gerade nicht streamt.
Da war uns klar: Da geht noch was. PrintWindow ist auch eine API, mit der man den Inhalt anderer Fenster aufnehmen kann. Standardmäßig ist das Ergebnis aber leider recht unzuverlässig oder einfach leer. Es hat sich jedoch herausgestellt, dass die Funktion eine nicht dokumentierte PW_RENDERFULLCONTENT-Flag akzeptiert, die ein vollständiges Neuzeichnen (Repaint) des Zielfensters erzwingt und das Problem auf diese Weise löst.
Diese neue Aufnahmemethode ist sicher kein Allheilmittel, weil sie das Zielfenster dazu zwingt, zusätzliche Arbeiten zum Rendern dieses Ergebnisses durchzuführen. Das ist aber immer noch besser, als überhaupt keins zu bekommen. Damit wir diesen Leistungseinbruch nur dann herbeiführen, wenn es gar nicht anders geht, aktivieren wir diesen Aufnahmemodus standardmäßig ausschließlich bei Apps, die Probleme mit der herkömmlichen BitBlt-Methode haben. Ihre Nutzer können diesen “Kompatibilitätsmodus” außerdem zur Bearbeitung anderer Baustellen heranziehen, die wir womöglich übersehen haben. So funktioniert das Aufnehmen von Fensterinhalten in so gut wie allen Fällen, während gleichzeitig die Leistung optimiert wird.
Vulkan-Spielaufnahmen
Wir wissen, dass sich die Spieleszene ständig weiterentwickelt. Für das Twitch Studio-Team ist es wichtig, mit der neuesten Technik Schritt zu halten, damit Creator aktuelle Titel streamen können. Deswegen unterstützt Twitch Studio jetzt die Aufnahme von Spielen, die auf der Vulkan-Grafik-API laufen. Dieses Projekt war besonders interessant, weil Vulkan im Gegensatz zu anderen Rendering-APIs das sofortige Aufnehmen von Spielen und Rendern von Overlays ermöglicht. Beim Aufnehmen von Spielen wird normalerweise Code in das laufende Programm eingefügt, der sich dann an die Rendering-APIs hängt, um jeden einzelnen Frame des Spiels abzufangen und zu kopieren. Vulkan bietet dafür ein sogenanntes Layer-System, über das Software von Drittanbietern (wie beispielsweise Streaming-Apps) eine spezielle DLL registriert, die automatisch in alle Vulkan-Spiele geladen wird. Das rationalisiert den Vorgang beim Aufnehmen von Spielen, und wir brauchen uns nicht mehr großartig mit den gängigen komplexen Verfahren zum Einschleusen von Code zu befassen.
Mehrere Audioquellen
Die ersten Funktionen, mit denen Twitch Studio in die Beta startete, sollten vorrangig Streaming-Einsteiger begeistern und setzten auf ein vereinfachtes Audiomodell mit einem Mikrofon und einer Desktop-Aufnahme. Diesen Funktionsumfang haben wir auf der Grundlage des Feedbacks unserer Streamer erweitert. Am häufigsten wurden wir um die Unterstützung zusätzlicher Audiokanäle und -geräte gebeten. Vor Kurzem haben wir daher den Quellcode des zugrunde liegenden Systems entsprechend umprogrammiert.
Diese Überarbeitung sollte gewährleisten, dass nicht nur der Umgang mit den standardmäßigen Audiofunktionen, sondern auch mit den neu hinzugefügten fortgeschrittenen Konfigurationsoptionen so einfach wie möglich bleibt. Genauer betrachtet heißt das: Wir haben das Verwalten von Audiogeräten völlig umgekrempelt. Statt einfach nur die Standardwiedergabe zu wählen und Mikrofone bei Bedarf hinzuzuschalten, können wir jetzt alle Ein- und Ausgabegeräte überwachen, wenn wir ein neues Gerät hinzufügen. Damit vereinfachen wir nicht nur das Audiosystem, sondern bilden auch die Grundlage für spannende neue Funktionen, die wir für die Zukunft geplant haben. Mehr dazu in Kürze!
Bei Twitch wollen wir neuen Streamern den Einstieg in die Streaming-Welt laufend erleichtern. Wir werden in diesem Jahr noch viel mehr Tools entwickeln, damit sie ihre Streams weiterhin verbessern und der Umgang damit möglichst einfach und optimal abläuft. Wenn du Twitch Studio noch nicht kennst, kannst du es hier ausprobieren.