Problems with Pixel Streaming Tutorial [UE4-27]

Hi there, I am trying to follow the PixelStreaming demo and documentation with step by step instructions but there is a problem. Here are the instructions:

‘Part 2 - Start The Servers’ section 1:

Blockquote In your Unreal Engine installation folder, find the location of the Signaling Server under Samples/PixelStreaming/WebServers/SignallingWebServer

But I do not see those files when I look in either:

C:\Program Files\Epic Games\UE_4.27\Samples\PixelStreaming\WebServers\SignallingWebServer

or

C:\Users\Charlie\Documents\Unreal Projects\Pix3\WindowsNoEditor\Samples\PixelStreaming\WebServers\SignallingWebServer

I see only these folders:

custom_html
images
modules
platform_scripts
scripts
tps
www

and these files:

cirrus.js
config.jason
package.json
package-lock.json

Secondly, when I open the Powershell as Admin and enter the commands instructed in Section 2 parts 2 & 3:

  1. To prepare for the Signalling Server, start by opening PowerShell as Administrator and running SignallingWebServer\platform_scripts\cmd\setup.ps1. This will install all the required dependencies.
  1. Start the Signaling Server by running SignallingWebServer\platform_scripts\cmd\Start_SignallingServer.ps1. When the server has started and is ready to accept connections, you’ll see the following lines in the console window:

I get the following:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell Install PowerShell on Windows, Linux, and macOS - PowerShell | Microsoft Docs
PS C:\WINDOWS\system32> ./setup.sh
./setup.sh : The term ‘./setup.sh’ is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1

  • ./setup.sh
  •   + CategoryInfo          : ObjectNotFound: (./setup.sh:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    

PS C:\WINDOWS\system32>

Please can someone help?

Many thanks,
Charles

Hey Charles,
In UE 4.27 the files were reorganized a bit, you’ll find the launch scripts under this path
Samples\PixelStreaming\WebServers\SignallingWebServer\platform_scripts\cmd
In this folder, you’ll find a README.txt file explaining how to run the webserver.

If you’re on Windows you need to launch the scripts with .bat, .cmd or .ps1 extensions, the ones with .sh (under the bash folder) are for other operating systems, like Linux.

Thanks so much for explaining where the files are. So sorry but please could you answer the second part of the question and help me to work out how to run these commands in powershell. When I open Powershell as Admin and drag and drop the commands in the shell: nothing happens.

When I copy the setup.ps1 command location [ C:\Program Files\Epic Games\UE_4.27\Samples\PixelStreaming\WebServers\SignallingWebServer\platform_scripts\cmd ] into the powershell it says:

.PS C:\WINDOWS\system32> C:\Program Files\Epic Games\UE_4.27\Samples\PixelStreaming\WebServers\SignallingWebServer\platform_scripts\cmd
C:\Program : The term ‘C:\Program’ is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1

  • C:\Program Files\Epic Games\UE_4.27\Samples\PixelStreaming\WebServers …
  •   + CategoryInfo          : ObjectNotFound: (C:\Program:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException
    
    

PS C:\WINDOWS\system32>

Please help, how do I send these commands to the program through this powershell? Does the program need to be open? Apologies, Charles

@enrico.lapponi

Please please help me. Why doesn’t anywhere explain how to run this command simply!!! I can see it in the folder but it does not run!!!

In Powershell to run a script file (.ps1) you just need to type .\setup.ps1 and then press enter.
Just make sure you’re already on the correct path …/platform_scripts/cmd

Also, the .\setup.ps1 file is just to set a few things up, in order to run the webserver you need to launch the .\Start_SignallingServer.ps1 or the one with the TURN server if you need both the STUN and TURN servers (for example when deploying in the cloud).
In any case in the README.txt folder you can find the instructions on which scripts you need to launch

1 Like

thank you @enrico.lapponi as you can see in the attached screen shot in my last message I typed that in and nothing happened. I have done it again and tried the .\Start_SignallingServer.ps1 and I get the following:

I am in Admin mode. Please advise!

okay there defo needs to be a instruction on how to run these scripts in powershell. It has taken me ages to learn but it could have been so simple if there were simple instructions. What a waste of time that was. For anyone with the same issues this worked for me:

By default you can’t execute other scripts in powershell so even if you do work out how to navigate to the right file you will get the errors like I discribe in the earlier posts of this thread. I find the whole powershell controll UNECESSARILY hard! It coul be so simple and come with basic freaking instructions for navigation!!! Anyway, dont bother trying to change the security settings using code because it’s so g-■■■■ jankey that following instructions letter for letter doesnt work with different versions of the Powershell app.

Instead, use this to change the default security:

You can also configure PowerShell Execution Policy in Windows via GPO. To do this, run the Local Group Policy Editor (gpedit.msc) and enable the Turn on Script Execution policy in the section Computer Configuration > Administrative Templates > Windows Components > Windows PowerShell.

Once you change the security settings to ‘remote sign’ you will be able to right click the .ps1 files and you have the option to run the script in powershell however, even though you right click and run the script it will not work, because right clicking and running scripts is not in Powershell Admin mode. I think you need to set it to ‘allow all scripts’ for that right click and run scripts function to work

Once you change the security settings you can find the files in Admin Powershell by typing

cd \
to go to the root drive
ls
to show the content of that drive
cd + tab
to cycle through the different folders
enter
to go to that folder
ls
to revieal contents, all the way till you reach the folder with your executables. you need to enter the files in the following format so that they are run by the PowerShell
.\filename.fileextension

Even after all that I got

I’m going to re-try with UE5

Before running the .ps1 script you can run the following command:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

then check with Get-ExecutionPolicy -List if the policy has been set correctly.

You can run these commands directly in the same path where the Start_SignallingServer.ps1 is

Thank you very much. I managed to get it all working by using the graphical interface built into windows, I detailed above, to change these security parameters. It would have saved a lot of time to include those instructions in the documentation, wowee.

I now have the local instance running well on my LAN and have started a new thread looking for help to setup a publically accessible STUN/TURN server on the CoTURN platform willing to pay for help. Please find that here:

However I wonder if you could help me with one more powershell issue please dear @enrico.lapponi ?

Instead of using the very slow Photogrammetry of CaptureReality or Meshroom I have started using an AI based method / program: https://colmap.github.io/ that is about 1600 times faster and much better quality then Meshroom (which I prefer to CR anyway). I am just having the software crash because of low GPU memory (even though I have 2 X 3090s) and there is a clear explanation about how to change the GPU memory usage in the documentation that involves using PowerShell to send these commands to the program [ Frequently Asked Questions — COLMAP 3.8 documentation ]but it’s not running scripts like in the example of setting up Pixelstreaming it’s just this code they tell you to enter but when I do it doesnt change anything in the app. Please could you advise how I can get the app to change when I enter this code into the powershell? Many thanks,

Charles

If you’re talking about the command to change the value in the Windows Registry you can do it manually if Powershell is not working, just remember to restart your computer after you change those values.

I’m not familiar with the app you’re using so I can’t help you with that

okay thanks for considering the issue though and for your previous help. Have you ever set up Pixel Streaming for multiplayer on a STUN/TURN server?) Would you like to have a jab at it for an important project for regrowing forests all over the planet?) I can pay if you think you can do it? Very best x Charles

p.s: Screenshot of it working locally on LAN :)))))))

That’s great!!!

Thank you for the offer but I don’t have the skills for it. For my current projects, I’m using the free STUN and TURN servers that are available by default.
Best,
Enrico

Thanks, but where are you running those servers please?

The STUN server is from Google, the TURN is a free-to-use implementation done by another company.
These two are the default ones used when setting up the Pixel Streaming with UE

Thank you dear @enrico.lapponi do you know if there are any guides for setting up a multiplayer TURN server for pixel streaming please? I can’t find any. many thanks

Charles