Skip to content
This repository has been archived by the owner on Mar 1, 2024. It is now read-only.

Settings Panel Documentation #135

Merged
merged 3 commits into from
Mar 2, 2023
Merged

Conversation

MWillWallT
Copy link
Contributor

New page of control panel information.

Have taken the old information from the official documentation and updated it with all of the new + removed out of date elements.

Signed-off-by: Michael Wallace <90592038+MWillWallT@users.noreply.github.com>
Signed-off-by: Michael Wallace <90592038+MWillWallT@users.noreply.github.com>

## Legal

Copyright &copy; 2022, Epic Games. Licensed under the MIT License, see the file [LICENSE](./LICENSE) for details.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's update copyright year to 2023

@@ -0,0 +1,71 @@
# Front End Setting Panel

With the new Pixel Streaming Front End, we've created a settings panel that allows you to adjust and change settings of your stream on the fly.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

frontend instead of Front End - in this context it is understood to be correct usage

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It won't always be new.

I would prefer

The Pixel Streaming frontend contains a settings panel that allows you to configure your Pixel Streaming user experience as needed - whether that be toggling features or connecting to different signalling servers.

# Front End Setting Panel

With the new Pixel Streaming Front End, we've created a settings panel that allows you to adjust and change settings of your stream on the fly.
This page will be updated with new features and commands available.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page will be updated with new features and commands available.

to

This page will be updated with new features and commands as they become available.

| **Signalling URL** | The URL of the signalling server. |
| **Streamer ID** | Allows you to select which streamer to stream. |
| **Auto connect to stream** | Browser will automatically connect to the stream when loaded. Prevents having to click to start |
| **Auto play video** | When stream is ready, starts playing video immediately instead of showing a play button. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When stream is ready

to

When the stream is ready

| **Streamer ID** | Allows you to select which streamer to stream. |
| **Auto connect to stream** | Browser will automatically connect to the stream when loaded. Prevents having to click to start |
| **Auto play video** | When stream is ready, starts playing video immediately instead of showing a play button. |
| **Browser send offer** | The browser will start the WebRTC handshake instead of the Unreal Engine application. This is an advanced setting for people customising the front end. Primarily for backwards compatibility for 4.x versions of the engine. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

people -> users

front end -> frontend

| **Auto connect to stream** | Browser will automatically connect to the stream when loaded. Prevents having to click to start |
| **Auto play video** | When stream is ready, starts playing video immediately instead of showing a play button. |
| **Browser send offer** | The browser will start the WebRTC handshake instead of the Unreal Engine application. This is an advanced setting for people customising the front end. Primarily for backwards compatibility for 4.x versions of the engine. |
| **Use microphone** | Will start receiving audio input from your microphone and play it back through the stream. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will start receiving audio input from your microphone and transmit it to the Unreal Engine.

| **Auto play video** | When stream is ready, starts playing video immediately instead of showing a play button. |
| **Browser send offer** | The browser will start the WebRTC handshake instead of the Unreal Engine application. This is an advanced setting for people customising the front end. Primarily for backwards compatibility for 4.x versions of the engine. |
| **Use microphone** | Will start receiving audio input from your microphone and play it back through the stream. |
| **Start video muted** | Muted audio when stream starts |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

when the stream starts

| **Browser send offer** | The browser will start the WebRTC handshake instead of the Unreal Engine application. This is an advanced setting for people customising the front end. Primarily for backwards compatibility for 4.x versions of the engine. |
| **Use microphone** | Will start receiving audio input from your microphone and play it back through the stream. |
| **Start video muted** | Muted audio when stream starts |
| **Prefer SFU** | Will attempt to use the Selective Forwarding Unit, will only work if you have one running. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will attempt to use the Selective Forwarding Unit, will only work if you have one running.

to

Will attempt to use the Selective Forwarding Unit (SFU), if you have one running.

### UI
| **Setting** | **Description** |
| --- | --- |
| **Match viewport resolution** | Visualizes statistics about the connection between the browser and the Unreal Engine application. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This text is wrong. Should be:

Resizes the Unreal Engine application resolution to match the browser's video element size.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah! I did see this, missed fixing it sorry. Good catch.

| **Setting** | **Description** |
| --- | --- |
| **Match viewport resolution** | Visualizes statistics about the connection between the browser and the Unreal Engine application. |
| **Control scheme** | Will dictate if the stream captures your mouse or keeps it free. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the scheme is locked mouse the browser will use pointerlock to capture your mouse, whereas if the scheme is hovering mouse you will retain your OS/browser cursor.

| **Start video muted** | Muted audio when stream starts |
| **Prefer SFU** | Will attempt to use the Selective Forwarding Unit, will only work if you have one running. |
| **Is quality controller?** | Makes the encoder of the Pixel Streaming Plugin use the current browser connection to determine the bandwidth available, and therefore the quality of the stream encoding. **See notes below** |
| **Force mono audio** | Force browser to request mono audio in the SDP. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Force the browser

| --- | --- |
| **Show FPS** | Will display the current FPS |
| **Request Keyframe** | Will ask the stream for a keyframe. This is helpful if your stream is choppy and needs to catch up. |
| **Restart Stream** | Restarts the peer connection to the stream. Should be used if you change above settings to ensure they are applied. |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Restarts the stream by disconnecting and reconnecting the websocket connection.

### Notes

**Quality Controller**
Although Pixel Streaming adapts the quality of the stream to match the available bandwidth, the video frames are only encoded once by the Pixel Streaming Plugin. That one encoding is used for all clients. Therefore, only one client connection can "own" the quality used for adaptive streaming. If the other clients have a much better connection to the server, they may end up seeing a lower quality stream than necessary. On the other hand, if other clients have a much worse connection to the server, they may end up with lag or jitter.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

match the available bandwidth, when using H.264 the video frames

....

they may end up with lag or jitter. Note, this quality controller setting is completely irrelevant if you are streaming using any codec other than H.264 (such as VP8 or VP9).

Copy link
Contributor

@lukehb lukehb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left some comments

Made proposed changes from Luke.
@MWillWallT
Copy link
Contributor Author

Made all proposed changes. Let me know if it's up to snuff!

Copy link
Contributor

@lukehb lukehb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now!

@lukehb lukehb merged commit 3d06815 into EpicGames:master Mar 2, 2023
@lukehb lukehb changed the title Signalling settings Settings Panel Documentation Mar 2, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants