En bref
- Pixel Streaming transmet l’image et le son d’une application Unreal Engine packagée vers un navigateur web.
- Le plug-in peut être utilisé avec une application packagée ou un projet lancé avec l’option Standalone Game.
- Sur un réseau local, les ports 80 et 8888 doivent être ouverts pour permettre les communications.
- Une configuration STUN ou TURN peut être nécessaire pour les connexions depuis des réseaux différents.
La documentation d’Unreal Engine publiée par Epic Games explique comment configurer Pixel Streaming sur un réseau local et l’utiliser depuis des navigateurs web et des appareils mobiles. Ce guide rassemble les étapes de base pour les équipes qui souhaitent rendre accessible à des personnes connectées au même réseau une application Unreal Engine conçue pour la visualisation architecturale ou une présentation interactive. Ces étapes s’appliquent aux plug-ins Pixel Streaming et Pixel Streaming 2 décrits dans la documentation ; la compatibilité du système d’exploitation et du matériel doit être vérifiée en fonction de l’installation utilisée.
1. Préparer l’application et le plug-in
Pixel Streaming ne partage pas directement une fenêtre ordinaire de l’éditeur : il transmet l’image d’une application packagée ou d’un projet lancé en mode Standalone Game. Préparez donc d’abord le projet pour l’un de ces deux modes d’exécution.
Dans Unreal Editor, ouvrez
Edit > Plugins. Dans la catégorieGraphics, activez le plug-inPixel StreamingouPixel Streaming 2, puis redémarrez l’éditeur.Si le projet comprend un personnage contrôlable par écran tactile depuis un téléphone ou une tablette, activez le paramètre
Always Show Touch InterfacedansEngine > Input, sousEdit > Project Settings. Cette étape est facultative ; le fonctionnement des commandes tactiles dépend aussi de la prise en charge des entrées tactiles par le Player Controller du projet.Pour lancer le jeu en mode Standalone Game depuis l’éditeur, saisissez le paramètre de connexion ci-dessous dans le champ
Additional Launch Parameters, à l’emplacementEdit > Editor Preferences... > Level Editor > Play:
-PixelStreamingURL=ws://127.0.0.1:8888Pour créer un exemple d’application packagée, choisissez
Files > Package Project > Windows (64-bit)afin de générer un package Windows. Vous devrez fournir le même paramètre de connexion à chaque lancement de l’application ; la documentation explique également comment l’ajouter à la ligne de cible d’un raccourci.
Vous pouvez aussi ajouter le paramètre -RenderOffScreen pour éviter que le flux d’entrée ne s’interrompe si la fenêtre de l’application est réduite. Cette option lance l’application sans fenêtre visible ; elle n’est pas nécessaire pour tous les projets.
| Paramètre | Valeur recommandée | Effet |
|---|---|---|
| Paramètre de connexion Pixel Streaming | -PixelStreamingURL=ws://127.0.0.1:8888 | Permet à l’application de se connecter au serveur sur la machine locale. |
| Ports de communication sur le réseau local | Ports 80 et 8888 ouverts | Autorise les communications de base entre le navigateur et l’application Unreal Engine. |
| Interface tactile | Always Show Touch Interface activé ; facultatif | Affiche l’interface de commandes à l’écran dans les projets prenant en charge le tactile. |
| Exécution sans fenêtre | -RenderOffScreen ; facultatif | Lance l’application sans fenêtre visible. |
2. Lancer les serveurs Pixel Streaming
Les composants du serveur et de l’interface web font partie de Pixel Streaming Infrastructure et s’exécutent séparément de l’application Unreal Engine. Le guide de démarrage d’Epic décrit comment récupérer ces composants depuis le dépôt GitHub ou utiliser la commande get_ps_servers de l’installation. L’exemple de la documentation indique 5.7 comme branche du dépôt ; cela ne signifie pas qu’il faut choisir cette même branche dans toutes les installations. Vérifiez quelle branche est compatible avec la version d’Unreal Engine utilisée.
Récupérez les fichiers d’infrastructure et repérez les scripts du serveur dans le dossier
SignallingWebServer.Dans l’exemple Windows, ouvrez PowerShell en tant qu’administrateur et exécutez le script suivant pour installer les dépendances :
SignallingWebServer\platform_scripts\cmd\setup.batLancez ensuite le serveur de signalisation :
SignallingWebServer\platform_scripts\cmd\start_with_stun.batUne fois le serveur prêt, les messages affichés indiquent qu’il écoute les connexions WebSocket des publishers sur le port 8888 et celles des players sur le port 80, et que le service HTTP fonctionne sur le port 80. Arrêtez les autres serveurs web éventuellement actifs sur le même ordinateur avant de commencer. La procédure est similaire sous Linux et Mac ; la documentation précise qu’il faut utiliser les scripts du dossier SignallingWebServer\platform_scripts\bash plutôt que les scripts Windows.
Une fois l’application et les serveurs démarrés, ouvrez http://127.0.0.1 dans un navigateur. Après avoir rejoint la page du player, cliquez sur la page pour lancer le flux. D’autres ordinateurs ou appareils mobiles connectés au même réseau local peuvent se connecter en utilisant l’adresse IP réseau de l’ordinateur serveur à la place de 127.0.0.1.
3. Prévoir l’accès réseau et le contrôle des utilisateurs
Effectuer le premier essai sur le même ordinateur ou sur le réseau local permet de distinguer les problèmes d’installation de ceux liés aux connexions depuis un réseau extérieur. Le guide de démarrage indique que les ports 80 et 8888 doivent être ouverts pour les communications sur le réseau local. Pour permettre l’accès depuis d’autres réseaux, l’ouverture de ces seuls ports peut ne pas suffire : le NAT, les sous-réseaux ou les réseaux des opérateurs mobiles peuvent affecter la connexion.
Dans ces cas, il est possible d’ajouter les informations des serveurs STUN ou TURN à la configuration peerConnectionOptions du serveur de signalisation. STUN aide les points de terminaison à déterminer leurs adresses IP visibles de l’extérieur. TURN relaie le flux média via un serveur ; il faut donc tenir compte de la bande passante et de la charge de transfert. La documentation d’Epic indique que l’utilisation de TURN peut être nécessaire sur les réseaux des opérateurs mobiles ou dans les réseaux d’entreprise sécurisés. Lors de la mise en place d’un serveur accessible depuis Internet, la configuration et la sécurité des accès doivent être examinées séparément ; l’exemple sur réseau local ne doit pas être considéré comme un service de production prêt à l’emploi.
Sur la page de player par défaut, les appareils connectés peuvent transmettre les entrées du clavier, de la souris et de l’écran tactile. Si, lors d’une présentation, seul le serveur doit pouvoir contrôler la scène tandis que les autres participants la regardent, il est possible de personnaliser différentes pages HTML de player selon les groupes d’utilisateurs. Les options de contrôle peuvent ainsi être séparées pour les utilisateurs qui accèdent à une même session Unreal Engine.
Effets sur les flux de travail en architecture et en visualisation
Pixel Streaming permet de faire découvrir une scène interactive Unreal Engine sur différents écrans via une page web. Le fait que les personnes puissent se connecter depuis un navigateur sans installer de logiciel supplémentaire sur leur appareil facilite l’accès lors de présentations ou de revues de projets. Cependant, la scène s’exécute sur l’ordinateur hôte distant ; les appareils connectés reçoivent la même image. Par défaut, les entrées peuvent également être partagées pour le contrôle. Il est donc important de prévoir à l’avance qui pourra contrôler la scène pendant la présentation.
La qualité d’image peut dépendre des capacités du GPU et de la mémoire de l’ordinateur hôte. Pour un service accessible sur Internet ou destiné à un grand nombre d’utilisateurs simultanés, il faut évaluer conjointement le matériel serveur, les conditions réseau et la stratégie de mise à l’échelle. Epic recommande la mise à l’échelle dynamique pour les déploiements importants ou dont la demande augmente ; il est possible d’exécuter un nombre fixe d’applications pour un usage à petite échelle, mais cela peut entraîner des ressources inutilisées ou des délais d’attente pour les connexions. La fonctionnalité SFU peut être envisagée pour un grand nombre de spectateurs et des conditions réseau variées, mais elle est décrite comme expérimentale dans la documentation.
Erreurs fréquentes
Ne pas redémarrer l’éditeur après avoir activé le plug-in ou lancer l’application autrement qu’en mode packagé ou Standalone Game.
Lancer l’application sans paramètre de connexion ou tenter de se connecter depuis un navigateur avant d’avoir démarré les serveurs.
Faire le premier essai sur Internet plutôt que sur un réseau local, ce qui complique le diagnostic des problèmes liés au NAT, à STUN/TURN et au pare-feu.
Ne pas vérifier que les ports 80 et 8888 sont ouverts ou laisser un autre serveur web entrer en conflit avec cette installation.
Oublier que, par défaut, tous les participants à une présentation peuvent envoyer des commandes à la même session.
Après la première connexion réussie, testez séparément les entrées du clavier, de la souris et, si nécessaire, de l’écran tactile depuis le navigateur. Si vous prévoyez une diffusion sur Internet ou un déploiement multi-utilisateur, testez la configuration réseau, la capacité du serveur et les droits des utilisateurs lors d’une phase pilote.
Sources
3 sourcesLes textes sources ne sont pas republiés ; les courtes citations sont signalées, le reste est notre propre résumé et commentaire.
Pour les cabinets d’architecture et les équipes de visualisation en Turquie, l’intérêt pratique de Pixel Streaming est de pouvoir faire examiner une scène interactive Unreal Engine depuis un navigateur. Le fait de ne pas avoir à installer de logiciel sur les appareils des spectateurs peut simplifier les présentations ; toutefois, la capacité GPU et mémoire de l’ordinateur hôte qui exécute la scène influe directement sur l’expérience.
Il est préférable de réaliser la première installation sur un réseau local afin de distinguer les problèmes réseau et de pare-feu. Pour un accès via Internet, il faut prendre en compte STUN/TURN, la bande passante et les coûts éventuels du serveur. En cas d’utilisation multi-utilisateur, le contrôle partagé par défaut et la fonctionnalité SFU expérimentale doivent être testés en particulier avant de passer à la production.
Questions fréquentes
Quels ports doivent être ouverts pour Unreal Engine Pixel Streaming ?
Le guide de démarrage d’Epic indique que les ports 80 et 8888 doivent être ouverts pour les communications sur le réseau local. Les valeurs par défaut peuvent être modifiées ; consultez les options de configuration dans la référence Pixel Streaming.
Pixel Streaming fonctionne-t-il depuis différents réseaux ou via Internet ?
Oui, mais le NAT, les sous-réseaux ou les réseaux des opérateurs peuvent empêcher la connexion. Dans ces cas, une configuration STUN ou TURN via `peerConnectionOptions` peut être nécessaire.
Comment lancer un projet Unreal Engine pour Pixel Streaming ?
Le projet doit être lancé sous forme d’application packagée ou avec l’option Standalone Game dans Unreal Editor. L’application doit être démarrée avec le paramètre de connexion Pixel Streaming.



