Kurz gesagt
- Pixel Streaming überträgt Bild und Ton einer paketierten Unreal Engine-Anwendung in den Webbrowser.
- Das Plugin lässt sich in einer paketierten Anwendung oder in einem Projekt verwenden, das über die Option Standalone Game gestartet wird.
- Bei einer Einrichtung im lokalen Netzwerk müssen die Ports 80 und 8888 für die Kommunikation freigegeben sein.
- Für Verbindungen aus anderen Netzwerken kann eine STUN- oder TURN-Konfiguration erforderlich sein.
Die Unreal Engine-Dokumentation von Epic Games beschreibt, wie Pixel Streaming in einem lokalen Netzwerk eingerichtet und über Webbrowser sowie Mobilgeräte genutzt werden kann. Dieser Leitfaden fasst den grundlegenden Einrichtungsablauf für Teams zusammen, die eine für Architekturvisualisierung oder interaktive Präsentationen entwickelte Unreal Engine-Anwendung für Personen im selben Netzwerk zugänglich machen möchten. Die Schritte gelten für die in der Dokumentation beschriebenen Plugins Pixel Streaming und Pixel Streaming 2; die Kompatibilität mit Betriebssystem und Hardware sollte für die konkrete Einrichtung separat geprüft werden.
1. Anwendung und Plugin vorbereiten
Pixel Streaming überträgt nicht einfach ein gewöhnliches Editorfenster, sondern das Bild einer paketierten Anwendung oder eines im Standalone-Game-Modus gestarteten Projekts. Bereiten Sie das Projekt daher zunächst für eine dieser beiden Ausführungsarten vor.
Öffnen Sie im Unreal Editor
Edit > Plugins. Aktivieren Sie in der KategorieGraphicsdas PluginPixel StreamingoderPixel Streaming 2und starten Sie den Editor neu.Wenn das Projekt eine Figur enthält, die per Touchscreen auf einem Smartphone oder Tablet gesteuert werden soll, aktivieren Sie unter
Edit > Project Settingsim AbschnittEngine > Inputdie EinstellungAlways Show Touch Interface. Dieser Schritt ist optional; ob die Touch-Steuerung funktioniert, hängt außerdem davon ab, ob der Player Controller des Projekts Touch-Eingaben unterstützt.Wenn Sie das Standalone Game aus dem Editor starten möchten, tragen Sie unter
Edit > Editor Preferences... > Level Editor > Playim FeldAdditional Launch Parametersden folgenden Verbindungsparameter ein:
-PixelStreamingURL=ws://127.0.0.1:8888Erstellen Sie für ein Beispiel einer paketierten Anwendung über
Files > Package Project > Windows (64-bit)ein Windows-Paket. Bei jedem Start der Anwendung muss derselbe Verbindungsparameter angegeben werden. Die Dokumentation beschreibt auch, wie er an die Zielzeile einer Verknüpfung angehängt werden kann.
Um zu verhindern, dass der Eingabestream beim Minimieren des Anwendungsfensters möglicherweise stoppt, kann auch der Parameter -RenderOffScreen hinzugefügt werden. Damit läuft die Anwendung ohne sichtbares Fenster; für jedes Projekt ist diese Option nicht erforderlich.
| Einstellung | Empfohlener Wert | Wirkung |
|---|---|---|
| Pixel-Streaming-Verbindungsparameter | -PixelStreamingURL=ws://127.0.0.1:8888 | Stellt die Verbindung der Anwendung zum Server auf dem lokalen Rechner her. |
| Kommunikationsports im lokalen Netzwerk | 80 und 8888 freigegeben | Ermöglicht die grundlegende Kommunikation zwischen Browser und Unreal Engine-Anwendung. |
| Touch-Oberfläche | Always Show Touch Interface aktiviert; optional | Zeigt in Projekten mit Touch-Unterstützung eine Bildschirmsteuerung an. |
| Ausführung ohne Fenster | -RenderOffScreen; optional | Führt die Anwendung ohne sichtbares Fenster aus. |
2. Pixel-Streaming-Server starten
Die Weboberfläche und Serverkomponenten befinden sich in der Pixel Streaming Infrastructure und laufen getrennt von der Unreal Engine-Anwendung. In der Einführungsdokumentation von Epic wird beschrieben, wie Sie diese Komponenten aus dem GitHub-Repository beziehen oder den Befehl get_ps_servers aus der Installation verwenden. Das Beispiel in der Dokumentation nennt 5.7 als Repository-Branch. Das bedeutet nicht, dass in jeder Einrichtung derselbe Branch verwendet werden muss. Prüfen Sie, welcher Branch mit der verwendeten Unreal Engine-Version kompatibel ist.
Laden Sie die Infrastrukturdateien herunter und suchen Sie die Server-Skripte im Ordner
SignallingWebServer.Öffnen Sie im Windows-Beispiel PowerShell als Administrator und führen Sie zum Installieren der Abhängigkeiten dieses Skript aus:
SignallingWebServer\platform_scripts\cmd\setup.batStarten Sie anschließend den Signalisierungsserver:
SignallingWebServer\platform_scripts\cmd\start_with_stun.batWenn der Server bereit ist, sollte die Ausgabe anzeigen, dass er auf Port 8888 auf Publisher-Verbindungen und auf Port 80 auf Player-WebSocket-Verbindungen wartet und der HTTP-Dienst auf Port 80 läuft. Beenden Sie vor dem Start andere Webserver, die auf demselben Computer laufen. Unter Linux und Mac gilt derselbe Ablauf; laut Dokumentation werden anstelle der Windows-Skripte die Skripte unter SignallingWebServer\platform_scripts\bash verwendet.
Sobald Anwendung und Server laufen, öffnen Sie im Browser http://127.0.0.1. Klicken Sie nach dem Öffnen der Player-Seite auf die Seite, um den Stream zu starten. Andere Computer oder Mobilgeräte im selben lokalen Netzwerk können sich verbinden, indem sie statt 127.0.0.1 die Netzwerk-IP-Adresse des Servercomputers verwenden.
3. Netzwerkzugriff und Benutzersteuerung planen
Ein erster Test auf demselben Computer oder im lokalen Netzwerk hilft dabei, Einrichtungsprobleme von Problemen bei Verbindungen über externe Netzwerke zu unterscheiden. In der Einführungsdokumentation werden die Ports 80 und 8888 für die Kommunikation im lokalen Netzwerk als erforderlich genannt. Für den Zugriff aus anderen Netzwerken reicht es möglicherweise nicht, nur diese Ports freizugeben: NAT, Subnetze oder Mobilfunknetze können die Verbindung beeinträchtigen.
In solchen Fällen lassen sich in der Konfiguration peerConnectionOptions des Signalisierungsservers Informationen zu STUN- oder TURN-Servern ergänzen. STUN hilft den Endpunkten dabei, ihre von außen sichtbaren IP-Adressen zu ermitteln. TURN leitet den Medienstrom über den Server weiter; deshalb müssen Bandbreite und Weiterleitungslast berücksichtigt werden. Epic weist in der Dokumentation darauf hin, dass in Mobilfunknetzen oder sicheren Unternehmensnetzwerken TURN erforderlich sein kann. Bei einem öffentlich erreichbaren Server müssen Konfiguration und Zugriffssicherheit gesondert berücksichtigt werden. Das Beispiel für ein lokales Netzwerk sollte nicht ohne Weiteres als produktiver Dienst betrachtet werden.
Auf der standardmäßigen Player-Seite können verbundene Geräte Tastatur-, Maus- und Touch-Eingaben übertragen. Wenn während einer Präsentation nur der Server die Anwendung steuern und alle anderen Teilnehmenden zuschauen sollen, lassen sich für verschiedene Benutzergruppen unterschiedliche HTML-Player-Seiten anpassen. So können die Steuerungsmöglichkeiten der Nutzer getrennt werden, die auf dieselbe Unreal Engine-Sitzung zugreifen.
Auswirkungen auf den Architektur- und Visualisierungs-Workflow
Mit Pixel Streaming lässt sich eine interaktive Unreal Engine-Szene über eine Webseite auf verschiedenen Bildschirmen erlebbar machen. Dass sich Betrachter ohne zusätzliche Softwareinstallation im Browser verbinden können, erleichtert den Zugang bei Präsentationen oder Projektbesprechungen. Die Szene läuft jedoch auf dem entfernten Hostcomputer; verbundene Geräte erhalten das Bild derselben Szene. Standardmäßig können auch Eingaben gemeinsam die Steuerung übernehmen. Daher sollte die Steuerungsberechtigung für Präsentationen im Voraus geplant werden.
Die Bildqualität kann von der GPU- und Speicherkapazität des verfügbaren Hostcomputers abhängen. Bei einem Dienst, der über das Internet oder für viele gleichzeitige Nutzer bereitgestellt werden soll, müssen Serverhardware, Netzwerkbedingungen und Skalierungsansatz gemeinsam bewertet werden. Epic empfiehlt dynamische Skalierung für umfangreiche oder bedarfsabhängig wachsende Bereitstellungen. Eine feste Anzahl von Anwendungen auszuführen, kann bei kleineren Einsätzen zwar möglich sein, birgt aber das Risiko ungenutzter Ressourcen oder von Wartezeiten beim Verbindungsaufbau. Die SFU-Funktion kann für viele Zuschauer und unterschiedliche Netzwerkbedingungen eine Option sein, ist in der Dokumentation jedoch als experimentell gekennzeichnet.
Häufige Fehler
Den Editor nach Aktivierung des Plugins nicht neu starten oder die Anwendung nicht als paketierte Anwendung beziehungsweise im Standalone-Game-Modus ausführen.
Die Anwendung ohne Verbindungsparameter starten oder versuchen, über den Browser eine Verbindung herzustellen, bevor die Server laufen.
Den ersten Test über das Internet statt im lokalen Netzwerk durchführen. Dadurch wird die Fehlersuche bei Problemen mit NAT, STUN/TURN und Firewalls schwieriger.
Nicht prüfen, ob die Ports 80 und 8888 freigegeben sind, oder zulassen, dass ein anderer Webserver mit derselben Einrichtung in Konflikt gerät.
Übersehen, dass bei einer Präsentation standardmäßig alle Teilnehmenden Eingaben an dieselbe Sitzung senden können.
Prüfen Sie nach der ersten erfolgreichen Verbindung Tastatur-, Maus- und gegebenenfalls Touch-Eingaben im Browser jeweils separat. Wenn eine Übertragung über das Internet oder eine Bereitstellung für mehrere Nutzer geplant ist, sollten Netzwerkkonfiguration, Serverkapazität und Benutzerberechtigungen bereits in der Pilotphase getestet werden.
Quellen
3 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Für Architekturbüros und Visualisierungsteams in der Türkei liegt der praktische Nutzen von Pixel Streaming darin, interaktive Unreal Engine-Szenen im Browser überprüfen zu lassen. Dass auf den Geräten der Betrachter keine zusätzliche Software installiert werden muss, kann Präsentationsabläufe vereinfachen. Die GPU- und Speicherkapazität des Hostcomputers, auf dem die Szene läuft, wirkt sich jedoch direkt auf das Nutzungserlebnis aus.
Die Ersteinrichtung im lokalen Netzwerk ist sinnvoller, um Netzwerk- und Firewall-Probleme voneinander abzugrenzen. Bei Zugriff über das Internet müssen STUN/TURN, Bandbreite und mögliche Serverkosten berücksichtigt werden. Bei der Nutzung durch mehrere Personen sollten das standardmäßige gemeinsame Steuerungsverhalten und die experimentelle SFU-Funktion unbedingt getestet werden, bevor die Produktionsplanung beginnt.
Häufige Fragen
Welche Ports müssen für Unreal Engine Pixel Streaming freigegeben sein?
Der Einführungsleitfaden von Epic verlangt, dass die Ports 80 und 8888 für die Kommunikation im lokalen Netzwerk freigegeben sind. Die Standardwerte lassen sich ändern; prüfen Sie dazu die Konfigurationsoptionen in der Pixel-Streaming-Referenz.
Funktioniert Pixel Streaming über andere Netzwerke oder das Internet?
Das ist möglich, aber NAT, Subnetze oder Mobilfunknetze können die Verbindung verhindern. In solchen Fällen kann eine STUN- oder TURN-Konfiguration über `peerConnectionOptions` erforderlich sein.
Wie sollte ein Unreal Engine-Projekt für Pixel Streaming gestartet werden?
Das Projekt sollte als paketierte Anwendung oder über die Option Standalone Game im Unreal Editor ausgeführt werden. Die Anwendung muss mit dem Pixel-Streaming-Verbindungsparameter gestartet werden.



