follow the official document to deploy a Pixel streaming application
start the application with all the necessary param (including -AllowPixelStreamingCommands )
modify the app.js in the signalingwebServer to add the following codes in "kickbutton.onclick" event for test:
let descriptor =
{ ConsoleCommand: 'stat fps' };
emitCommand(descriptor);
then click the "kick button" when you succeeded connecting to the app in your browser.
expected: the running app show fps info in the viewport, but actually it doesn't. In its log it says
Warning: failed to run command = {"ConsoleCommand": "stat fps"}
Debug: after reading the source codes it looks like there is a typo error in \Engine\Plugins\Media\PixelStreaming\Source\PixelStreaming\Private\PixelStreamerInputComponent.cpp line23
UPixelStreamerInputComponent::OnCommand(const FString& Descriptor)
{
FString ConsoleCommand; bool bSuccess = false;
GetJsonStringValue(Descriptor, TEXT("ConsoleCommand"), ConsoleCommand, bSuccess);
if (!bSuccess) // looks like here should have NO "!"
{ return GEngine->Exec(GetWorld(), *ConsoleCommand); }...
it is also reported by UDN
NOTE: It can be workaround by users to define some customized UIInteraction.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-104359 in the post.
7 |
Component | PixelStreaming |
---|---|
Affects Versions | 4.24, 4.25, 4.26 |
Target Fix | 4.27 |
Created | Dec 10, 2020 |
---|---|
Resolved | May 31, 2021 |
Updated | May 31, 2021 |