Hallo an alle Leser!
Ich setze das Thema des Software-Emulators für PlayStation 2 und PlayStation Portable - Omega Red fort. Ausführlicher:
Ich habe diese Veröffentlichung im Zusammenhang mit der neuen Funktionalität geschrieben, die ich dem Projekt hinzugefügt habe - Streaming-Übertragung von Live-Video- und Audiospielprozessen vom Emulator zu bekannten Streaming-Internetdiensten.
Willkommen bei Kat.
Zunächst möchte ich Folgendes erwähnen: Die Idee, die Unterstützung für Internet-Broadcasting zu integrieren, entstand aus meinem anderen Projekt - dem
CaptureManager SDK . Ich habe mit dem Senden von einer Webcam experimentiert und einen funktionsfähigen Code erhalten. Und die Idee „kam“ - diesen Code in den Emulator der Spielekonsole einzubetten!
Die Aufgabe ist in folgenden Aspekten interessant: Video- und Audioaufnahme. Das Aufnehmen mit der Kamera ist recht einfach, aber was tun mit dem Aufnehmen von Videos vom Renderer des Emulators!?! Sie können Code finden, um den gesamten Desktop zu erfassen - aber es ist so EINFACH. Und was ist, wenn Sie Grafiken direkt vom Grafik-Renderer erfassen? Eine ähnliche Idee bei der Audioaufnahme - normalerweise wird die Audioaufnahme vom Systemmixer als Duplizierung des Audiostreams zu den Lautsprechern ausgeführt. Und was ist, wenn Sie Audio direkt vom Audio-Renderer VOR dem Systemmixer aufnehmen?
Interessant! Original!
So wird es implementiert: Capture-Code wird dem DirectX 11-Renderer und dem DirectSound-Renderer hinzugefügt. Das Ergebnis des Renderns von Grafiken wird über DirectX 11-Videotextur direkt an den H264-Videocodierer übertragen. Auf diese Weise können Sie die hardwarebeschleunigte Videokodierung auf einem Grafikbeschleuniger verwenden. Der Audiostream wird an den in Windows integrierten AAC-Audiocodierer weitergeleitet.
Die Erfassungssteuerung besteht aus zwei Teilen:
- Einrichten der Codierung und Auswahl des Streaming-Internetdienstes für die Übertragung von Live-Videos;
- Mixer-Setup - Mischen von Live-Videos mit zusätzlichen Quellen (Webcam, JPG / PNG / GIF-Dateien (animiert)).
Codierungseinstellung:
Das Streaming-Setup beginnt mit der Auswahl des Aufnahmemodus - „Streaming“. In diesem Modus können Sie die Datenrate für Video- und Audiostreams entsprechend der verfügbaren Geschwindigkeit der Internetverbindung anpassen. Sie können separat einen Streaming-Dienst auswählen oder die MANUELLE vollständige Adresse eines Streaming-Servers abrufen - beispielsweise
IHREN EIGENEN Server, der auf
MonaServer basiert. Es ist wichtig zu beachten, dass nicht nur eine offene Verbindung unterstützt wird, sondern auch eine sichere Verbindung (SSL)! Der Streaming-Dienst Facebook (ja, es gibt einen) hat folgende Ankündigung veröffentlicht:
„Ab dem 1. November 2019 werden wir die Unterstützung von RTMP-Server-URLs einstellen. Danach können ungeschützte URLs nicht mehr für Videosendungen verwendet werden. Aktualisieren Sie die Einstellungen des Videocodierungsgeräts und verwenden Sie die sicheren RTMPS-URLs. “Ich entschied, dass die RTMPS-Unterstützung vielversprechend ist, und verbrachte die Zeit damit, OpenSSL in die RTMP-Bibliothek zu„ schrauben “. Und der Code FUNKTIONIERT !!! Facebook nimmt Stream über eine sichere Verbindung!
Der Stream startet durch Drücken der Aufnahme- / Streaming-Taste:
Die Mixer-Einstellungen werden nach dem Start der Aufnahme / des Streamings verfügbar:

Im Bereich „Medien“ wird die Registerkarte „Medienquellen“ verfügbar. Diese Registerkarte enthält die Quellen für Video- und Audiostreams, die zum Mischen verfügbar sind. Zusätzlich zu Webcams und Mikrofonen können Sie JPG / PNG / GIF-Dateien (animiert) hinzufügen.
Bei Mikrofonen können Sie den Anteil des Mischens von Audiostreams steuern. Das Mikrofon wird durch Klicken auf die Check-Schaltfläche ausgewählt. Die Mischsteuerung erfolgt über den Schieberegler.
Bei einer Videoquelle können Sie das Mischen von Videostreams steuern. Die Kamera wird durch Klicken auf das Häkchen ausgewählt. Die Bildgröße der Kamera wird über das Dropdown-Menü ausgewählt.
Die Transparenz (oder Nichttransparenz) der Mischung kann über einen separaten Schieberegler gesteuert werden.
Die Position und Größe des Mischens von Videostreams kann während des Streamings jederzeit geändert werden:
Streaming-Demo:
Derzeit ist das Programm verfügbar unter:
Omega Red und wird auf GitHub:
OmegaRed präsentiert .
PS Die Videoqualität im Stream ist fig - ich habe ADSL Internet - ein stetiger Stream auf YouTube nur mit einer Videostream-Geschwindigkeit von bis zu 256 Kbit - Sie müssen nicht auf den Bildschirm spucken - es hilft nicht.