Hello Unreal Community,
I’m encountering an issue while setting up Pixel Streaming as a local host in Unreal Engine 5.1.1. The project connects successfully to the Signaling Server, and the browser loads the Pixel Streaming player, but no video stream is sent to the browser.
Here’s a summary of my setup and what I’ve tried:
Setup Details:
- GPU: AMD Radeon RX 580
- GPU Driver: Adrenalin 22.11.2 WHQL (also tested with newer versions)
- CPU: Intel Xeon E5-1650 v2 @ 3.50 GHz
- RAM: 32 GB
- OS: Windows 10 (22H2, Build 19045.5371)
- Unreal Engine Version: 5.1.1
- Node.js Version: 16.20.2
- Signaling Server: Configured using
run_local.bat
from the Pixel Streaming package.
What Works:
- Signaling Server:
- Successfully starts and listens on the required ports:
80
(HTTP Player connections)8888
(Streamer connections)8889
(SFU connections).
- WebRTC ICE Candidate Exchange:
- ICE candidates are exchanged between Unreal Engine and the browser:
→ player 101: {“type”:“iceCandidate”,“candidate”:…}
← Streamer: {“type”:“iceCandidate”,…}
- Unreal Engine Initialization:
- Pixel Streaming initializes successfully:
LogEncoderAMF: Amf initialised with D3D12
LogPixelStreaming: Initialising Pixel Streaming settings.
LogPixelStreamingSS: Connected to SS ws://127.0.0.1:8888
What Fails:
- AMF Encoder:
- Unreal Engine fails to encode video frames with AMD’s AMF encoder, resulting in repeated errors:
LogEncoderAMF: Error: AMF failed to encode frame.
LogEncoderAMF: Error: Amf submit error with 29
- No Video Stream in Browser:
- The player UI loads in the browser, but no video is streamed (the Received Bytes (B): 0 counter stays at zero).
Steps Taken to Resolve:
- Driver Updates:
- Used Adrenalin 22.11.2 WHQL and newer versions.
- Confirmed hardware H.264 encoding support.
- Pixel Streaming Settings:
- H.264 Codec enabled.
- Correct signaling server URL:
ws://localhost:9999
.
- Lowered Bitrate:
- Ran the packaged project with reduced encoding load:
test_pixel_6.exe -PixelStreamingURL=ws://localhost:9999 -NvEncCodec=h264 -NvEncPreset=low_latency -PixelStreamingBitrate=5000000
- Tested with a New Project:
- Created a clean Third-Person Template project and encountered the same issue.
- Checked Network and Ports:
- Verified that ports
80
,8888
, and8889
are open and not blocked.
Questions:
- AMF Encoding Issue:
- Is this a known issue with AMD GPUs (RX 580) and Unreal Engine 5.1.1?
- Are there specific driver versions or Unreal Engine settings that resolve this?
- Pixel Streaming Settings:
- Are there additional settings or configurations for AMF or H.264 encoding that I should try?
- Browser Playback:
- While signaling works, are there specific browser configurations (e.g., WebRTC settings) to troubleshoot further?
- Upgrade Path:
- Would upgrading to Unreal Engine 5.2 or switching to an NVIDIA GPU provide better compatibility for Pixel Streaming?
Logs Available Upon Request:
- Full Unreal Engine Output Log during runtime.
- Signaling Server Logs showing connection details.
- GPU utilization details during streaming tests.
Thank you for your time and support!
Any guidance or suggestions would be greatly appreciated.
Many thanks to ChatGPT (Unreal Engine 5 Expert) for all the support