Closed lvanname closed 3 years ago
I ended up just building the image and I currently can get the streaming to connect by running both containers. However, I am unable to connect with a client on my separate machine with the public IP address from the machine that is running both containers. Any idea as to why this might be?
Is this in the cloud or on a local network? Commonly lack of connection is caused by lack of STUN/TURN server, can you verify your STUN/TURN server is accessible on the public internet by running the ICE trickle test on it.
This link may help you: https://github.com/ImmortalEmperor/UnrealEngine/blob/4.25-pixelstreaming/pixel-streaming-cloud.md (you will have to a member of Epic Games GitHub to see it).
Thanks for the help! I was able to verify the STUN and TURN servers and I did get it working on my local network. I think I will explore getting it to run in the cloud now.
Hi,
Thank you for all the documentation you have put together for this project. I am new to both Docker and Unreal Engine and all the resources you have published have been extremely helpful.
I am looking to run both the Cirrus signalling server and the PixelStreamingDemo project and was wondering if I needed to build the signalling server image using the Dockerfile for Cirrus:
FROM adamrehn/ue4-full:4.25-pixelstreaming as builder FROM node:12
COPY --from=builder home/ue4/UnrealEngine/Engine/Source/Programs/PixelStreaming/WebServers/SignallingWebServer /opt/SignallingWebServer
WORKDIR /opt/SignallingWebServer RUN npm install .
EXPOSE 80
ENTRYPOINT ["/usr/local/bin/node", "/opt/SignallingWebServer/cirrus.js"]
I have already built the image for the PixelStreamingDemo using the following Dockerfile:
FROM adamrehn/ue4-full:4.25-pixelstreaming AS builder
RUN git clone --progress --depth 1 https://gitlab.eecs.umich.edu/lvanname/practice.git /tmp/project
WORKDIR /tmp/project RUN ue4 package
FROM adamrehn/ue4-runtime:18.04-cudagl10.2 COPY --from=builder --chown=ue4:ue4 /tmp/project/dist/LinuxNoEditor /home/ue4/project
ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES},video
RUN ln -s /usr/lib/x86_64-linux-gnu/libnvidia-encode.so /home/ue4/project/PixelStreamingDemo/Binaries/Linux/libnvidia-encode.so
ENTRYPOINT ["/home/ue4/project/PixelStreamingDemo.sh", "-PixelStreamingIP=127.0.0.1", "-PixelStreamingPort=8888", "-renderoffscreen", "-ResX=1920", "-ResY=1080", "-ForceRes"]
I believe I can run the container image with the project using the following command: docker run --rm --gpus all --network pixeldemo:lastest
But I was unsure how to run the Cirrus signalling server. I saw that there is a way to run the server from the adamrhen/ue4-full:4.25-pixelstreaming image in this issue: https://github.com/adamrehn/pixel-streaming-linux/issues/46 and was curious if I can use similar commands.
Also, I installed docker, CUDA, etc. and built all the images on one machine and was hoping to access the Pixel Streaming application by opening a web browser on a separate machine. I think I can just navigate to the IP of the machine that is running the containers, but just wanted to double check that this is correct.
Thank you for all your help!