I am having trouble setting up pixel streaming outside of my own network. I have it working internally but not so much luck externally. I am using the Turn server and I followed go knows how many tutorial to the letter and still no go. I opened every port and turned off antivirus software and firewalls. I deactivated advanced security with my ISP and opened ports 80, 443, 8888 and 999.
I get as far as getting to the player.htm screen and press “begin”. After that it just says please wait. Funny thing is that the Cirus out put says that I have connected.
I have not edited the config.js at all. Or anyother file except the Start_AWS_withTurn_SignalingServer file.
I followed this tutorial maybe five times.
Here is what my **Start_AWS_withTurn_SignalingServer file **contains
Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
ok you need to open power shell or cmd and browse to “SignallingWebServer” folder like example “\WindowsNoEditor\Engine\Source\Programs\PixelStreaming\WebServers\SignallingWebServer” and type " npm audit " this will analyze the problem for your npm script and for me it gives me that i need to install “email@example.com” and “firstname.lastname@example.org” i installed them and i solve npm problem now i’m facing another issue that i can’t resolve tell know which is shown in photo any idea what is that …
To get *Invoke-WebRequest *work as intended you need to modify a script in *Start_AWS_withTurn_SignalingServer.ps1 *file, script provided by epic fails to retrieve public ip of the machine you are running your app from.
Everything is working fine locally, but once someone not on the same network tries to connect to the server, i get the following error in the webbrowser of the users logg
Websocket connection to ‘ws://80.xxx.x.xxx/’ failed: Connection closed before receiving a handshake respone.
The message to the user is “Starting connection to server, please wait”
Does anyone know what the problem is?
All ports are open and tested.
Correct parameters are on the streamer executeable correct and streamer is connected once its started.
The user makes it all the way until play is hit, and the errors above happend.
I’m also still suffering from this. As localhost everything is working fine but when trying to use public ip, its just not working. Also, I open the ports from the router but when I check from online port checking tools, it says the ports are still closed… Any suggestions??
I’m not sure if this is going to help you, but might as well give it a try. I never had any luck with the TURN server implementation that came packaged with PixelStreaming, so instead, I switched to Twillio (planning to test coturn in the future, but right now for testing, twillio is easier). You can install their CLI, and follow this tutorial Twilio Network Traversal Service - Twilio to generate your credentials for the turn server. Then just replace the turn server config in *start_aws_withturn_signalingserver.ps1 and hopefully it should be good. Careful though, Twillio is a paid service, so you will pay for the traffic(although it is very cheap, got a 15$ sign-up bonus, and I think I used 5$ in 2 months for testing)
Here is how my * start_aws_withturn_signalingserver.ps1 looks like this:
Edit1: About the ports, I had the same “problem” some time ago. Even if you open the ports, but you’re not running anything on them, the port checker will return that the port is closed (not 100% sure about this, I might be wrong, not an expert). But you can also make sure that the firewall is not an issue by completely disabling it ( do it just for testing, and don t forget to turn it back on again after). If with the firewall stopped, everything works, try and run this command in windows powershell :
Hello, if you’re reading this and still struggling I would just like to extend some of the solutions to the mistakes I made.
Read the documentation again with a fresh view. The majority of the problems when I solved and looked over the documentation again, realised it had said that all along, apart from this next one.
In the shortcut for the packaged unreal application you need to replace “localhost” with your public IP address in order for this to work across networks.
In the runAWS_WithTURN file, you need to keep the “ \ ” at the end of the username and credential inputs
If none of the public TURN and STUN servers are working go to
“Engine/Source/ThirdParty/WebRTC/rev.23789/programs/Win64/VS2017/release” and run both the STUN/TURN server, the TURN server has the username and credentials set in the default “Start_AWS_WithTurn_SignalingServer”. Just type in your local IP in the “Start_AWS_TurnServer”.
Twilio is a great option for a third party TURN/STUN server. The documentation is weird but straight forward and there aren’t a lot of tutorials out there for this particular purpose. However if you follow it exactly using the “Twilio-CLI” install part it will work fine.
You can also set up “coturn” on a free linux EC2 with AWS, however personally I have not got this to work.