Audio compatibility with Unity video players (no sound in VRChat)

Type

Live Streaming

What is the error number?

No error

What is the error message?

No message

What is the issue you’re encountering

No stream sound in VRChat video players

What steps have you taken to resolve the issue?

I’ve checked my OBS settings, verified the stream has sound when played in browser embed, but when playing the m3u8 in VRChat worlds with video players only the video shows, no sound. Swapping to VRCDN works but I would like to evaluate CF for this as well.

Since audio works in browser and when using VRCDN (both with an rtspt m3u8 url and MPEG-TS .ts url), I feel 100% confident that everything is working on my side getting the audio and video to cloudflare, so I can only assume this is some kind of audio codec issue between cloudflare and the VRChat / Unity video players.

Since I have been unable to get m3u8 to play in VLC, I haven’t been able to verify what audio codec is in play - does anybody know? Unfortunately it doesn’t seem like there are any codec settings in cloudflare so there’s not a lot I can try.

What are the steps to reproduce the issue?

Create live input
Enable live playback
Leave LL-HLS & signed URLs disabled
Start broadcast from OBS
Load stream in browser to verify audio
Copy m3u8 url and paste into a VRChat video player

No audio, only video

For reference, VRCDN’s mpeg-ts stream which fully works in VRChat shows up as ADTS audio codec in VLC, which I guess is just the container around AAC? Not sure if that narrows down the issue at all but it seems like AAC should work.

I came across this related thread: Cloudflare HLS Manifest Missing Sound - #3 by mickie

And tried the solutions from there - adding ?clientBandwidthHint=12 to the end of the m3u8 url as well as manually picking the stream from the m3u8 and adding ?vodotfe=true to the end. It doesn’t seem to make a difference

After some further tinkering, I’m fairly certain there is no audio codec issue, so I can only assume it has something to do with demuxed streams. Following in the footsteps of this vrchat forum user, I was able to easily setup an RTMP → HLS(mpegts) container on a digitalocean droplet using mediamtx: MediaMTX - RTSP Protocol Problem - #3 by docteh - Help! - VRChat Ask Forum

I would love to be able to use cloudflare as a streaming CDN but having no sound when playing the stream in game (through AVProVideo unity plugin) and especially if there is no support for mpeg-ts for Quest users, I’ll have to stick to my home-rolled solution or go back to vrcdn for now.