Archiv der Kategorie: Entertainment

Das Undenkbare ist geschehen

Im letzten Post war ich noch sehr begeistert von meinem neuen Streaming-Setup, aber es hat sich einiges getan und eigentlich bin ich mittlerweile verdammt sauer, weil WTF.

Meine Software benutze ich immer noch, aber fast alles andere hat sich geändert.

Alles fing damit an, dass einen anderen cables.gl-Patch benuzten wollte, nämlich Motion Graphics von action. Die Browserquelle in OBS zeigte hierbei jedoch nur ’n schwarzen Bildschirm! Was war da los?

Eine kurze Debugsession später war klar: die Browserquelle in der macOS-Version von OBS nutzt nicht die GPU, sondern Googles Softwarerenderer „SwiftShader“. Aber das ist ja Quatsch, ich hab ja ’ne GPU, und im echten Browser geht das auch total gut! Abhilfe konnte hier aber durch Kommandozeilenparameter geschaffen werden. Slightly nervig, aber damit würde ich wohl klar kommen!

Darauf basierend hab ich dann also mein OBS-Setup angepasst, und die Performance war eher so mittelmäßig und nicht wirklich zufriedenstellend, aber der neue Patch sah schon unglaublich gut aus, da konnte man nicht meckern, und auch auf Twitch kam der neue Hintergrund sehr gut an!

Irgendwann wurde allerdings bemängelt, dass der Hintergrund leider doch arg ruckelt. Das ging so weit, dass ich die Größe des Hintergrundes auf ein Viertel reduziert habe, damit er schneller und flüssiger gerendert werden kann, und damit war es dann wieder einigermaßen angenehm zu gucken.

Ich habe also für’s Streamen 720p30 genutzt, und der neue Hintergrund wurde in 640×360 gerendert, wie 1993, denn mit mehr war das MacBook anscheinend überfordert. Ist das nicht dezent lächerlich?

Lösungen dafür fielen mir ein paar ein, aber keine war so richtig befriedigend: Hardware-Lösungen kosten Geld und haben Lieferzeit, und andere Software würde unweigerlich Abstriche beim Setup erforderlich machen. Trotzdem habe ich erstmal probiert, eine andere Software zu benutzen. Aufgrund meines Engagements bei SceneSat habe ich Zugriff auf eine Lizenz für Wirecast, welches angeblich genau so gut wie OBS funktionieren soll… aber was heißt das schon?

Das in Wirecast mit Abstrichen nachgebaute OBS-Setup wies allerdings fast schon erwartungsgemäß die gleichen Schwächen auf: gerenderte Webseiten waren langsam wie Arsch.

Okay, langsam wird’s Zeit für die nukleare Option: Windows. Aber auf welchem Rechner? Ich habe doch nur MacBooks?

(Kurze Pause zum Einwirkenlassen.)

Dank des von Apple seit Ewigkeiten mitgelieferten Boot Camp Assistants ist es ein Kinderspiel, eine Partition für Windows 10 anzulegen und selbiges darauf zu installieren. Auch der ganze andere Kram ist kein Problem, OBS läuft, die gammeligen 5-Euro-Webcams werden auch erkannt und… ach, mein Overlay. Ach ja, erstmal Linux installieren. Auffm Windows. Auffm MacBook. Verrückt!

Aktuelle Version des Overlays von Github geholt, gestart, cables-Patch runtergeladen, alles in OBS eingebunden: 720p30, flüssig, quasi keine CPU-Last. Okay, das ist schon mal besser. Als ich die Auflösung jedoch auf 1080p60 hoch drehte, wurde ich so langsam sauer: Immer noch butterweich. Was zur Hölle?

Das Rendern war also überhaupt kein Problem, aber was ist mit dem Encoden? OBS bot mir nur den x264-Software-Encoder an, und ein kurzer Test zeigte 97% gedroppte Frames aufgrund von Encodinglag… also vielleicht lieber nicht Software. Aber wo war der Hardware-Encoder hin? Der funktionierte immerhin unter macOS…

Etwas Recherche brachte dann zutage, dass MacBooks beim Booten knallhart die integrierte Intel-GPU abschalten, wenn etwas anderes als macOS gebootet wird. Himmelarschundzwirn, wer denkt sich denn sowas aus? An dieser Stelle fiel viel Frust an, da EFI eine Technologie ist, die erst so richtig in’s Rollen kam, als ich schon über 30 war, und dementsprechend war mir das alles zu neu und sowieso völlig unverständlich. Wat is mit rEFIt? apple_set_os.efi? gpu-switch? Was heißt jetzt „für Windows“? Läuft das unter Windows, oder ist das für wenn Windows die GPU benutzen können soll? Unklarheit, Verwirrung, Wut, Tränen, das volle Programm.

Und wie so oft hilft eine Nacht Schlaf! Am nächsten Morgen wusste ich zwar immer noch nicht, wo rechts und oben ist, aber ein erneuter Blick in die exzellente Dokumentation von rEFInd offenbarte, dass dort tatsächlich alle Informationen enthalten waren, die ich brauchte! Wie albern von mir… ausgerüstet mit den neuen Information war die Installation schnell erledigt, und schon war es möglich, die Treiber von Intel zu installieren, und auch OBS war der Meinung, jetzt mit dem Hardware-Encoder umgehen zu können.

Ein erneuter Test ergab, dass das auch korrekt ist. 1080p60, absolut flüssig, und CPU und GPU haben anscheinend derbe Langeweile dabei!

Das bedeutet, dass ich für’s Erste das Streamen mit Windows machen werde, und ich bin mir momentan sehr unsicher über die Zukunft der macOS-Partition auf dem Rechner. Dank TimeMachine wäre es kein Problem, die einfach zu plätten und bei Bedarf wieder zu restaurieren, aber so ein kompletter Schnitt ist mir vorerst zu drastisch. Prinzipiell mag ich macOS ja auch sehr gerne, aber die Performance beim Streamen ist so unterirdisch, dass ich das nicht aushalte. Im Gegenzug dazu ist Windows zwar für’s Streamen anscheinend sehr geeignet, aber ansonsten bin ich halt nicht wirklich ein Freund davon, und wie sich das auf die Softwareentwicklung auswirkt, muss ich auch erstmal sehen…

Ich bin auf jeden Fall mal mächtig stinkig, dass es für macOS ein Riesenproblem ist, zwei Webseiten in 720p30 zu rendern, aber Windows auf der exakt gleichen Hardware ohne Probleme 1080p60 schafft.

Auflegen mit etwas mehr Style

Mittlerweile geht mein Lunch Trance Stream (montags, mittwochs, freitags, jeweils von 11–14 Uhr) in die siebte Woche, und so langsam groovt sich da ein bisschen Routine ein. Vor allem meine Vorstellungen davon, was ich alles an Elementen im Stream haben wollte, hat mich am Anfang ein bisschen ausgebremst und auch einiges an Frust produziert.

Am Anfang bestand der Stream aus einem Top-Down-View auf den Controller sowie den Wellenformen von zwei Decks, aus Traktor über HDMI und ein Legato CamLink 4k in Streamlabs OBS importiert. Die Streamlabs-Version von OBS ist sowohl cooler als auch beschissener als das normale OBS: Animationen bei neuen Twitch-Followern abspielen ist yay, keine OBS-Plugins nutzen zu können ist nay, und der Streamlabs-eigene Shop, den ich für ein Visualizer-Plugin ja gerne mit Geld belohnt hätte, bietet überhaupt keine Plugins an, und generell kann man dort auch nichts kaufen, sondern lediglich ein Monatsabo abschließen, welches einem dann Zugriff auf alles gibt.

Der Ausflug in die Streamlabs-OBS-Welt hat mir jedenfalls OBS ein bisschen näher gebracht. Durch besseres Organisieren der Szenen und Quellen erhält man tatsächlich recht fix eine brauchbare Sammlung an Einstellungen, zwischen denen man dann problemlos hin- und herschalten kann. Und Plugins gehen auch! \o/

Ein weiterer Hit ist OBS’ „Browser“ Quelle: Die rendert nämlich einfach eine Webseite. Die hab ich tatsächlich früher in SceneSat-Einsätzen schon dafür genutzt, um eine Uhr oder den aktuellen Track von SceneSat in einen Demopartystream einzufügen, aber die gewaltige Nützlichkeit war mir bis dato nicht wirklich bewusst. Mit ein wenig HTML und CSS hab ich dann ein Grundgerüst für die Anzeige von Trackinformationen bauen können, welches sogar einigermaßen schick aussah. Yay Browser!

Eigentlich nur aus Spaß hab ich den Browser dann einfach mal auf cables.gl losgelassen, und zu meinem Erstaunen ist auch WebGL überhaupt kein Problem. Unerwartet! Also einfach eine der Szenen („Blue Marble“ von pandur) in OBS geschmissen, den Visualizer drüber, dann meine kleine Webseite mit Trackinfos, fertig ist der Lack!

Das war natürlich immer noch nicht das Gelbe vom Ei, ging aber erstmal ganz gut. Die Trackinfos wurden direkt in der HTML-Datei gepflegt, welche einmal pro Sekunde von der Platte gelesen wurde. Bisschen ungünstig war, dass die Datei nur im Stück bearbeitet werden konnte, ich also sehr aufpassen musste, dass ich nicht bestimmte Sachen aus Versehen schon mit speichere, die noch gar nicht angezeigt werden sollen, wie z. B. der nächste Track, wenn ich eigentlich nur eine Nachricht anzeigen will. Das muss doch besser gehen?!

Und so entstand obs-dj-overlay, eine Node-Applikation mit React-Frontend zur bequemen Eingabe von Show- und Trackinformationen, mit Previewfenster und eingebundenem Twitch-Chat. Recht bequem zu benutzen, alles Wichtige im Blick, funktionabel aber nicht hübsch, und läuft seit über einer Woche ohne Probleme. Ich möchte noch ein paar von den Dingen hinzufügen, die man bei Streamlabs OBS out of the box bekommen hat, vor allem Notifications für Twitch-Events, aber da muss ich erstmal gucken, wie ich die sinnvoll aus der API rausgeholt bekomme, das wird also noch ein paar Tage dauern, bis das implementiert ist. (Hinweise? Gerne einen Kommentar unter dem Post lassen!)

Das schönste an alldem ist, dass es tatsächlich Leute gibt, die es anscheinend total gut finden, was ich auflege… mit der momentan Zuschauerzahl werde ich zwar nicht reich, aber es sind deutlich mehr als mein Zweitrechner und meine Mama, und außerdem kommt’s darauf auch gar nicht an. Ich habe Spaß, die Zuschauer haben Spaß, was will man mehr?

Airbending für Arme

Seit einiger Zeit hat mein Rechner Probleme damit, Audiodaten schnell genug von A nach B zu bekommen, was bei 48 kHz und 24 Bit schon echt eine negative Glanzleistung darstellt. Dummerweise macht sich das als auffälliges Knistern und Knacksen bemerkbar, wenn ich streame, und zwar sowohl bei meiner Radiosendung als auch bei meinen Videostreams.

Heute war es beim Genuss der mittlerweile sechsten Staffel Avatar (Legend of Aang komplett plus zweieinhalb von Legend of Korra) sogar so weit, dass nicht mal mehr die Ausgabe ohne Probleme funktionierte, und da ist dann aber auch wirklich mal Schluss. Da ich leider kein Airbender bin, musste ich jedoch zu Hilfsmitteln greifen: Einer Dose Druckluft. Nach einem kurzen Stoss in die jeweiligen Lufteinlassschlitze meines MacBooks trat sogleich eine spürbare Besserung der Problematik ein.

Hoffentlich ist damit der morgige Mittagstrancestream (von 11 bis 14 Uhr!) endlich mal wieder in einwandfreier Audioqualität zu empfangen!

Gegen die Langeweile

Da ich momentan sehr viel Freizeit habe (Kurzarbeit, remember?) habe ich mich vor zwei Wochen oder so dazu entschlossen, ein paar Mal pro Woche ein bisschen Trance zu streamen, weil ich das mag, weil ich das kann, und weil auch viele andere Leute momentan sehr viel Freizeit haben und sich das gut kombinieren lässt.

Das bedeutet, wenn ihr montags, mittwochs oder freitags ein bisschen musikalische Untermalung eures Mittagessens benötigt, stehe ich unter https://twitch.tv/bombe___ (drei Unterstriche!) von 11:00 bis 14:00 (CEST) zu eurer Verfügung!

Die Typografie von Alien

Typografie ist so eine Art Mini-Hobby von mir (ich kann mehrere Schriften auseinanderhalten und ich habe Type:Rider durchgespielt!), aber in Filmen hab ich irgendwie nie Zeit (oder Muße), mich mit den Details auseinander zu setzen, die es zu sehen gibt. Glücklicherweise gibt es Menschen, die das für mich erledigen.

Ergo: Die Typografie von Alien. Wunderbar.

Hallo, zukünftiges Ich!

Manchmal wünschte ich, ich wäre schlau genug, um in meinem Code ebenfalls Kommentare für mich selbst zu hinterlassen:

Wobei ich vermutlich auf den zweiten Teil verzichten würde… andererseits, Island klingt eigentlich ganz cool.

Einen Song für immer hören

Wie awesome ist das eigentlich? Man nehme einen Song, zerschneide ihn in rhythmische Häppchen, suche identische Häppchen und ermöglich dann das nahtlose Abspielen dieser Häppchen.

Tada: The Infinite Jukebox!

Natürlich hat Der Gerät kein Verständnis für größere Songstrukturen als einen Beat, also kann es durchaus mal passieren, dass mitten in der Strophe einfach mal in den Refrain gewechselt wird, wenn da halt mal zufällig eine Zehntelsekunde ist, die bei beiden gleich klingt. Und im Hintergrund mag es auch nicht abspielen, aber das schiebe ich spontan mal auf generell die Audiowiedergabe in Browsern.

Plot für eine Episode „Doctor Who“

Es hat sich vermutlich mittlerweile rumgesprochen, dass Stephen Hawking im Jahre 2009 eine Party für Zeitreisende veranstaltet hat, von der er vorher niemandem erzählt hat. Was wäre, wenn der Doctor allerdings dort gewesen wäre, und noch ein paar andere, und irgendwelche krasse Scheiße ist passiert, und Hawking musste versprechen, niemandem davon zu erzählen?

Der neue Doctor ist da!

Naja, „ist da“ ist natürlich übertrieben. Aber jetzt wissen wir, wie er aussehen wird. Nachdem er bisher nur in Matt Smiths alten Klamotten rumlief, haben wir nun ein komplettes Bild:

Der Look des neuen Doctors
Der Look des neuen Doctors

Spontan und pauschal finde ich das schon recht awesome. Ich bin echt riesig gespannt darauf, wie er sich machen wird. Leider wird es wohl noch bis zum Herbst dauern…