WebRTC streaming failed with "AbortError: The play() request was interrupted by a new load request"

Hi, I’m currently testing the Omniverse Web Viewer Sample locally on my machine using localhost:5174.

The app seems to initialize correctly and logs indicate the stream is starting successfully:

  • "StartingStreamer" state is confirmed
  • streamReady message appears
  • Session is set up successfully

However, the stream then fails with this error in the console:

fbc-video-0 play error: AbortError, The play() request was interrupted by a new load request.
Stream terminated unexpectedly.
TypeError: Cannot read properties of null (reading ‘getTracks’)

Here’s what I’ve confirmed:

  • Running on localhost

  • WebRTC _streaming is enabled with .\repo.bat launch

  • Browser has autoplay permission

  • Audio/video tracks were registered correctly before this error

Any idea why play() is being interrupted or why getTracks() fails afterward?
Thanks for your help!

My colleague is also experiencing the same issue at http://localhost:5173
Can you share the best omniverse kit version and the most complete and accurate guide? @Richard3D

We are aware of some users getting this error, but we are unable as of yet, to track down the source of this. The only thing that has shown to work, is if the user has a NON RTX GPU installed as well. That can interfere. If you do, can you disable it in the device manager and try this again please.

1 Like

There are a few things I want to confirm with this flow.

  1. Did you create the kit app using Kit-App-Template?
    Can you confirm the following extension is enabled in the *_streaming.kit file:
    "omni.kit.livestream.webrtc" = {} # Livestream extension
    It will be around line 20 under [dependencies]

  2. When you start the app to do streaming, can you confirm you did no-window mode using the this command:
    $ .\repo.bat launch -- --no-window

  3. When you connect using web-viewer-sample repo, can you confirm the configuration of the following files:

==>vite.config.js
export default defineConfig({
    plugins: [
        react(),
        viteExternalsPlugin({
            GFN: 'GFN'
        }),
    ],
    server: {
        port:3000,
        strictPort: true,
        host: true,
        origin: "http://0.0.0.0:3000"
    }
});
==>stream.config.json
{
    "$comment": "source can be 'gfn', 'local' or 'stream'",
    "source": "local",
    "local": {
        "$comment": "Required props if source is set to 'local'.",       
        "server": "<IP_OF_NODE>"
    }
}

A reminder that in your testing, the OV Kit App and web-viewer-sample need to be running on teh same node.

In the above example, you would use tcp port 3000 to connect. For example, the browser would be:
http://<IP_OF_NODE>:3000

1 Like

Also check out my streaming video setup here

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.