Audio Pipeline E2E Testbook
End-to-end test for the browser microphone to UE application audio path.
Prerequisites
- Active browser stream (complete steps 1-7 from browser-streaming-e2e.md)
- Browser with microphone permission
- Body running hydravoice with VB-Cable installed
Step 1: Start browser stream
Follow steps 1-7 from browser-streaming-e2e.md to establish a working video stream.
Expected: Video stream is active in the browser.
Step 2: Enable microphone permission
- In the browser stream UI, click the microphone icon / enable audio
- Browser will prompt for microphone permission — allow it
Expected: Browser shows microphone as active (not muted).
Step 3: Verify RTP packets flowing
On the hydraneckwebrtc server, check that mic relay is forwarding packets:
# Check for UDP traffic on the mic relay port
ss -ulnp | grep 47995
Expected: A UDP socket is listening on port 47995 for the active session. Traffic should be flowing from hydraneckwebrtc to the body.
Step 4: Verify ffmpeg process on body
On the body (render node):
# Check for ffmpeg audio decode process
ps aux | grep ffmpeg | grep -v grep
Expected: An ffmpeg process is running, decoding RTP audio input and outputting to the VB-Cable virtual audio device.
Step 5: Verify VB-Cable audio device
On the body (Windows render node):
# Check VB-Cable is installed and active
Get-PnpDevice | Where-Object { $_.FriendlyName -like "*VB-Cable*" }
Expected: VB-Cable Virtual Audio Device is present and enabled.
Step 6: Verify UE app receives audio
- In the UE application, trigger an audio-reactive feature (if available)
- Speak into the browser microphone
- Observe the UE application's response
Expected: The UE application receives audio input via VB-Cable. Audio-reactive features respond to microphone input.
Audio Pipeline Diagram
Browser Mic
|
v (WebRTC audio track)
hydraneckwebrtc (mic relay)
|
v (RTP/UDP :47995)
hydravoice (on body)
|
v (pipe to ffmpeg)
ffmpeg (decode RTP to PCM)
|
v (audio output)
VB-Cable Virtual Audio Device
|
v (virtual mic input)
UE Application
Troubleshooting
| Symptom | Check | |---------|-------| | No mic permission prompt | Browser settings, HTTPS requirement | | No UDP traffic on :47995 | hydraneckwebrtc mic relay config, firewall | | No ffmpeg process | hydravoice service status, ffmpeg binary path | | VB-Cable not found | VB-Cable driver installation on body | | UE app no audio | VB-Cable selected as input device in UE audio settings |