GithubHelp home page GithubHelp logo

josejimeneznext / pixel-streaming-at-scale Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws-samples/pixel-streaming-at-scale

0.0 0.0 0.0 367 KB

Deploy Unreal Engines Pixel Streaming at scale on AWS

License: MIT No Attribution

Shell 0.81% JavaScript 61.52% Python 22.85% TypeScript 13.20% HTML 1.62%

pixel-streaming-at-scale's Introduction

Deploying Unreal Engine on AWS at scale

This repository provides a reference framework to deploy Pixel Streaming on Unreal Engine at scale and manage streaming sessions across multiple instances of signalling servers. The repository is based on the 5.2 version of Unreal Engine's Pixel Streaming infrastructure which can be found in this link

Solution Architecture

Solution Design

Dependecies

  1. You have a functional Unreal Engine application configured with Pixel Streaming.
  2. You have an AWS account which administrative privileges.
  3. The SignallingWebServer and Matchmaker repositories only contain the files that have been changed to support this framework. For deploying them, you would need to merge the changes with the existing files in Unreal Engine's Pixel Streaming repository
  4. Security group for SignallingWebServer may need additional routes depending on your setup. Please update the same in create.yml.

Deploying the framework

  1. The Pixel Streaming Infrastructure contains reference implementations for all the components needed to run a pixel streaming application. Deploy SignallingWebServer and Matchmaker applications on EC2 instances of their own and create an AMI. . For steps associated with deploymenty,refer documentation.
  2. Create and EC2 instance and clone the Frontend repository. Register the application as a service, running on port 8080. Once completed, please use directions from step #1 to create an AMI
  3. At this step, you should have 3 AMI - SignallingWebServer, Matchmaker and Frontend applications.
  4. Please upload the script create.yml to cloudformation and provide the AMIs' created as input. The script would create the required infrastructure as per the solution diagram
  5. Please replace the code of the lambda functions created with the code defined in Lambda
  6. Please connect to the Frontend server and navigate to '/usr/customapps/pixelstreaming/Frontend/implementations/react' .Please switch to 'su' and replace the environment variables in webpack.dev.js and restart Frontend service.Please ensure that the frontend service shows as 'Running' with no errors
  7. Please run the lambda function uploadToDDB from your AWS console to populate DynamoDB with the required information

Getting started

Please retrieve the Cognito application endpoint URL from within Cognito. Below are the steps to retrieve the same

  • Go to the Amazon Cognito console
  • Choose User Pool
  • Choose the existing user pool from the list - ueauthenticationpool
  • Select the App integration tab.
  • Select the existing app client from the app client list
  • Click on the 'View Hosted UI' button to get started

Please sign up with a new user .Here are the steps for the same

Additional Considerations

In order for the solution to run end to end, the ALB created for Matchmaker and SignallingWebServer would need to expose https endpoints. Please upload/create required SSL certificates in ACM and link them to the ALB listeners.

Cleanup

To cleanup, please remove the lambda code and then delete the cloudformation stack

Disclaimer

You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards.

pixel-streaming-at-scale's People

Contributors

amazon-auto avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.