Choose your operating system:
Windows
macOS
Linux
This page describes options, settings, and command-line parameters exposed by the various parts of the Pixel Streaming system.
Supported Graphics Hardware
The computer that runs the Unreal Engine application with the Pixel Streaming Plugin must have one of the following types of graphics hardware:
-
NVIDIA GPU hardware that supports Hardware-Accelerated Video Encoding (NVENC). See the matrix of supported devices from NVIDIA.
-
AMD GPU hardware that supports the Advanced Media Framework (AMF) .
If you receive the error message No compatible GPU found, or failed to load their respective encoder libraries when you try to use the Pixel Streaming Plugin, it is very likely that your GPU does not support NVENC or AMF.
Supported Operating Systems
The Pixel Streaming Plugin and the Signalling and Web Server have been tested on Windows 8 and Windows 10.
They have not been tested on any other operating systems, including Windows 7.
Supported Client Browsers
Pixel Streaming playback works on any modern browser that supports the WebRTC protocol. For example, it has been tested and is known to work in recent versions of the following browsers without additional configuration:
-
Google Chrome (desktop and mobile)
-
Mozilla Firefox (desktop and mobile)
-
Apple Safari (desktop and mobile)
Other browsers such as Microsoft Edge and Opera may require add-ons or plugins, and may not work on all systems.
Default Network Ports
The components of the Pixel Streaming system communicate using the default ports specified below. You'll need to make sure that these ports are open on the host that runs each of these components.
Component |
Ports |
---|---|
|
|
|
|
Unreal Engine Console Commands
Encoder commands control the way the Pixel Streaming Plugin encodes the rendered frames from the Unreal Engine into video images.
Command |
Description |
---|---|
|
The maximum bitrate allowed, in bps. |
|
The target resolution size for the encoder, in the format
|
|
Makes the encoder use the back buffer size (that is, the size of the rendered game viewport) rather than the custom size set by Encoder.TargetSize . |
Unreal Engine Command-Line Parameters
Set these properties on the command line when you launch your Unreal Engine application.
Parameter |
Description |
---|---|
|
Determines whether the player Web page can use the
|
|
Forces the Unreal Engine to use software mixing for audio, so that the Pixel Streaming Plugin can capture audio.
|
|
Required. Specifies the IP address or domain name of the computer running the Signaling and Web Server. |
|
Required.
*Specifies the port that the Signaling and Web Server is listening on for incoming communications from the Unreal Engine application.
|
|
A comma-separated list of keyboard keys that the Pixel Streaming Plugin should filter out from the input that it relays from the player web page to the Unreal Engine. If a user presses one of these keys in the browser, that event will not be relayed to the Unreal Engine's input controller.
|
|
Sets the maximum length of messages the Unreal Engine application will accept from the Signaling and Web Server, in bytes.
|
|
Run the Unreal Engine application headless, without any visible rendering at all on the local computer. The application will not display any windows, and will not render in full screen.
|
|
If specified, overrides the default encoder frame rate.
|
|
The maximum width of a frame that the encoder can encode.
|
|
The maximum height of a frame that the encoder can encode.
|
|
If specified, overrides the encoder's default average bitrate. |
|
Determines the H.264 compression level: 5.2 or 5.1. If this parameter is not set, the encoder uses level 5.2, which is capable of encoding high resolutions such as 3840x2160 (4K).
If you are encoding at smaller resolutions, you may be able to save some bandwidth by switching to level 5.1. To do this, set this parameter to
|
Signaling Server Configuration Parameters
There are two ways you can set these parameters:
-
On the command line, when you start the Signaling and Web Server by running
run.bat
ornode cirrus.js
. In this case, prefix each parameter name with--
(two dashes), then follow it with a space, then the value you want to set. For example:--httpPort 81
. -
In a configuration file. By default, the Signaling and Web Server (
cirrus.js
) looks for a file namedconfig.json
in the same folder. In this case, set each parameter and the value you want to set for it as a key-value pair in the JSON object defined in the file. If you've already started the Signaling and Web Server at least once, see the parameters that are already listed in theEngine/Source/Programs/PixelStreaming/WebServers/SignallingWebServer/config.json
file for an example.
Parameter |
Description |
---|---|
|
The public IP of the computer running the Signaling and Web Server. |
|
The port that the Signaling and Web Server uses for HTTP connections with client browsers. |
|
The port that the Signaling and Web Server listens to for incoming connections from the Unreal Engine application. |
|
Specifies the hostnames or IP addresses of any STUN and TURN servers you want the Unreal Engine application and browser to query when they need to discover their own external IP addresses.
The value must be formatted as a string, even if you use a JSON configuration file to provide the parameter. Always surround it in double-quotes, and use backslashes to escape any quotes inside the string, as shown above. |
|
The filename of the default page the server will provide to connecting client browsers that do not request a specific URL.
|
|
Specifies additional folders that the Signaling and Web Server should serve.
|
|
Determines whether the Signaling and Web Server writes log messages to files in the
|
|
Set this parameter to
true
in order to make the Signaling Server accept only HTTPS connections on the
httpsPort
.
|
|
The port to listen to for HTTPS connections. Only used when
UseHttps
is enabled.
|
|
Determines whether the Signaling and Web Server sends its current status to a Matchmaker Server, in order to help client browsers find a Signaling Server and Unreal Engine application that are not currently in use. |
|
The IP address of the Matchmaker Server that the Signaling and Web Server should contact. |
|
The port that the Matchmaker Server listens to for incoming messages from Signaling and Web Servers. |
|
Specifies the path and file name of the configuration file that the Signaling Server should use to retrieve the values of the properties above. Can only be set on the command line. |
Matchmaker Server Command-Line Parameters
Provide these parameters on the command line when you start the Matchmaker Server by running its
run.bat
file, or when you start it by running
node.exe matchmaker.js
.
Parameter |
Description |
---|---|
|
Sets the port number that the Matchmaker listens to for HTTP connections from clients.
|
|
Sets the port number that the Matchmaker listens to for incoming messages from Cirrus signaling servers.
|