rse / vingester

Ingest Web Contents as Video Streams

Home Page:https://vingester.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Audio from video elements playing WebRTC MediaStream objects not send via NDI

vsx-sieber opened this issue · comments

Hi,
thanks for this nice application!
We would like to use it in our livestream and video productions. Specifically we would like to utilize it for capturing the audio and video of individual remotely connected users. These users are connected via WebRTC in a web application. This web application is an in-house tool from us.

Now we face the following problem:

  • When the capturing of the user is send via NDI to our live video production software no audio is coming from this capturing.

Additional information:

  • The link we use in Vingester is pointing to our WebRTC web application and we use query parameters to select which individual user we want to capture. This way there is only this one video element in the DOM and only the MediaStream for this individual user is received.
  • Enabling the Preview in Vingester shows that the browser instance is displaying the correct user's video.
  • Enabling the Frameless mode, we can see AND HEAR the video and audio of that user in the local output of Vingester.
  • Using the Chromium Developer Tools for that Vingester browser instance, we can see that the MediaStream object displayed in the video element has a working and running AudioTrack and the video element is not muted, the volume is maxed (1) and the play promise resolves with status fulfilled.
  • Capturing the same URL opened in a Microsoft Edge, Google Chrome or Mozilla Firefox instance and capturing this browser with a different desktop capture tool and sending this via NDI works with audio and video.
  • Capturing audio from YouTube HLS source is working however.

About our setup:

  • Vingester version is 2.8.0
  • Problem occurs regardless of the system on which Vingester is running (we tested on different Windows 10/11 Enterprise systems)
  • Problem occurs regardless of the software we use to receive NDI inputs (we tested vMix and NDI Webcam Tool)

Is there any difference in how Vingester is capturing the audio of adaptive bitrate HLS streams vs. live WebRTC sources in the browser instance?
Could this be related to an Electron bug?
When using both Frameless and Headless mode, is the local output of the Frameless mode displaying the exact same browser instance as the Headless mode is using as the source for the NDI transmission? Or are these two different instances / renderings? Its strange that the audio is outputted in Frameless mode (on the local audio output device), but not send via NDI in Headless mode.

I know that it's hard for you to reproduce this issue, since you have no access to our WebRTC web application. Are there any other WebRTC-based browser applications I can use to further test the issue and make sure it is not a issue with our WebRTC tool. MS Teams and Zoom web applications didn't work at all in Vingester.

I just tested it with VDO.Ninja and the problem occurred there as well. However an info log in the console was referring to this same issue and that there is a fixed Vingester release from @steveseguin (https://github.com/steveseguin/vingester/releases/). Using this version of Vingester solved the NDI audio problem for our WebRTC web application as well.
I won't close this issue since the bug still exists in this version of Vingester, but you can close it, whenever you like.