Commit Graph

10 Commits

Author SHA1 Message Date
Luke Bermingham
16fb0841c4 Fixing VCam input.
- CreateInputDevice is only called once on a module so it cannot be used to create multiple input devices when we're creating mutliple streamers. Only the default will work since it's the first being made.
- Fixing signalling config loading when it is readonly.

#fyi Matthew.Cotton, David.Hibbitts
#preflight 628dd36faf7a2e956bb09db8

[CL 20361009 by Luke Bermingham in ue5-main branch]
2022-05-25 03:12:06 -04:00
Luke Bermingham
a7599949b7 Update Samples/PixelStreaming with early work from 5.1. (Multiple authors)
*************
Features
*************
- Added stat in stats panel to show currently used audio/video codec.
- Added audio bitrate in the stats panel.
- Added toggle in the settings panel to force mono audio.
- Added new info in stats panel to indicate input controlling mode.
- Added Linux platform scripts for the Matchmaker/SFU.
- Added npm commands for signalling server. `npm run $config -- $args` which will work across platforms (`$config` might be `start-signalling-server` and args might be `--debug`)

*************
Bugfixes
*************
- Fix matchmaker taking up to 45 seconds to display a valid server for use.
- Fix regression where all browser audio was mono (default now stereo).
- Fix Linux SFU and Signalling Server scripts not grabbing the public IP correctly.
- Fix linux setup scripts not working when being run from a location that has a space in the path.
- Fix SFU run_cloud.bat tries to call non-existent run.bat.
- Fix being unable to type in console of a streamed application.
- Fix docker scripts running only TURN when we needed both TURN and cirrus.
- Fix docker scripts not starting correctly.

*************
Refactors
*************
- Bash scripts have been refactored for readability.

#rb self
#fyi Mattias.Jansson, Aidan.Possemiers
#preflight https://horde.devtools.epicgames.com/job/628c894f5665463c21effaa9

[CL 20345056 by Luke Bermingham in ue5-main branch]
2022-05-24 03:43:51 -04:00
Luke Bermingham
b2148d64f9 Enforce only one streamer at a time being connected to cirrus.js - this has always been the intent anyway it is now enforced in the signalling server.
One meaningful difference is that anyone who has depending on the old behaviour where a new streamer would override an existing one will have to change their setup.
This fixes the problem where the SFU crashes if multiple streamers attempt to connect.

#fyi William.Belcher, Mattias.Jansson
#rb self
#preflight trivial
#jira UE-143407

[CL 19505643 by Luke Bermingham in ue5-main branch]
2022-03-24 20:30:01 -04:00
William Belcher
24ba7c4cc9 Merge /UE5/Dev-Tensorworks to /UE5/Main. This includes:
Refactor player sessions
Fix PixelStreamingAudioComponent had delayed audio.
Fix audio bitrate from Unreal Engine to browser was set to a low default causing compressed audio quality in stream. The new default is now Opus maximum value of 510kb/s.
Fix the Selective Forwarding Unit (SFU) not being added to the Pixel Streaming samples folder for a packaged project
Fix default max bitrate not being high enough to support 4k.
Fix reconnections not autoplaying in the browser.
Add datachannel support to SFU.
Add WebRTC c++ client behaviour to pixel streaming system. This is used for developing unit tests.
Add a unit test that will start streaming, connect a client and check that a data channel message can be sent.
Add the ability for a user to start/stop streaming as needed through the use of PixelStreaming.StartStreaming and PixelStreaming.StopStreaming
Add the ability for the stream resolution to be changed at runtime

Notes: AVEncoder no longer stores a width and height; These properties have been moved to the FVideoEncoderInput. This input is now the source of truth and both AMF and NVENC will adapt their resolution to the input resolution.

#rb luke.bermingham
#fyi mattias.jansson, nick.pace, matthew.cotton, aidan.possemiers, sandor.hadas
#preflight 6204c7aba65a8a28464df03c
#jira none

[CL 18948482 by William Belcher in ue5-main branch]
2022-02-10 21:16:24 -05:00
william belcher
be55394a88 Remove the Kick All button from the Pixel Streaming front end. Replace this functionality with a Kick Player blueprint.
#jira none
#preflight 61f7a5f86a7c7b134f34ba36
#rb luke.bermingham
[FYI] mattias.jansson

#ROBOMERGE-AUTHOR: william.belcher
#ROBOMERGE-SOURCE: CL 18803013 in //UE5/Release-5.0/... via CL 18803028 via CL 18821570
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18821651 by william belcher in ue5-main branch]
2022-02-02 01:48:23 -05:00
luke bermingham
be6357d7a2 Rework PixelStreaming stats to use internal WebRTC stats.
- Stats can now be queried.
- Stats can be listened to for changes using IPixelStreamingModule::AddAnyStatChangedCallback.
- Web frontend stats/settings cleaned up to reflect only important settings a user can change.
- Removed latency tester in favour of a stats report.

#jira UE-136118
#rb self
[FYI] Aidan.Possemiers, Nick.Pace, Matthew.Cotton, William.Belcher
#preflight 61d24a8921763c62c97d1378

#ROBOMERGE-AUTHOR: luke.bermingham
#ROBOMERGE-SOURCE: CL 18499770 in //UE5/Release-5.0/... via CL 18499772
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18499773 by luke bermingham in ue5-release-engine-test branch]
2022-01-02 20:27:41 -05:00
matthew cotton
18d22044c0 Merging //UE5/Dev-TensorWorks to Release-5.0 (//UE5/Release-5.0)
- adding the ability to connect directly to the streamer even when an sfu is connected. use UseDirect parameter to activate

#jira UE-136649
#rb aidan.possemiers, luke.bermingham, nick.pace
[FYI] Mattias.Jansson

#ROBOMERGE-AUTHOR: matthew.cotton
#ROBOMERGE-SOURCE: CL 18441498 in //UE5/Release-5.0/... via CL 18444774
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v897-18405271)

[CL 18444952 by matthew cotton in ue5-release-engine-test branch]
2021-12-13 13:18:46 -05:00
matthew cotton
1363134cbe Merging //UE5/Dev-TensorWorks CLs 18200048 and 18306147 to Release-5.0 (//UE5/Release-5.0)
- Changing the offer/request order
- Adding sfu support
- Adding simulcast support
- Largish structural changes
- adding reference SFU server

#jira UE-136239, UE-136238
#rb aidan.possemiers, luke.bermingham, nick.pace
[FYI] Mattias.Jansson

#ROBOMERGE-AUTHOR: matthew.cotton
#ROBOMERGE-SOURCE: CL 18345619 in //UE5/Release-5.0/... via CL 18345653
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18345683 by matthew cotton in ue5-release-engine-test branch]
2021-12-01 16:57:33 -05:00
aurel cordonnier
fc542f6cfd Merge from Release-Engine-Staging @ 18081189 to Release-Engine-Test
This represents UE4/Main @18073326, Release-5.0 @18081140 and Dev-PerfTest @18045971

[CL 18081471 by aurel cordonnier in ue5-release-engine-test branch]
2021-11-07 23:43:01 -05:00
nick pace
fa7ea09416 Add sample files for Pixel Streaming Matchmaker and Signalling Web Server
#JIRA UCS-1831
#rb luke.bermingham
[FYI] aidan.possemiers, marco.anastasi

#ROBOMERGE-AUTHOR: nick.pace
#ROBOMERGE-SOURCE: CL 17919803 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17919815 by nick pace in ue5-release-engine-test branch]
2021-10-25 23:30:36 -04:00