logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
engelschall  
#1 Posted : Sunday, March 20, 2022 10:20:52 PM(UTC)
engelschall

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2022(UTC)
Posts: 71
Germany
Location: Munich

Was thanked: 33 time(s) in 17 post(s)
For live event productions at our company, we are using vMix, of course. The vMix Call facility most of the time is really awesome, as it provides a very easy and good quality way to bring remote callers into the video production. From my perspective, the killer features of vMix Call certainly are that it requires just a browser and has a built-in way for the video production to provide a return feed to the callers.

Unfortunately, although vMix Call supports screen sharing for callers, those shared content streams REPLACE(!) the camera streams! And even if technology-affine callers would be willing to open two browser tabs, in one tab configure their camera, and in the other tab configure their shared content, vMix Call supports just 8 video streams in total and this way limits us to effectively 4 callers (at least until we use something like a second vMix instance, etc).

But, the swiss army knifes VDO.Ninja and OBS Studio to the rescue! I've crafted together a solution I now named "VDON Call" and which I share as Open Source with you under:

https://github.com/rse/vdon-call

It uses an opinionated VDO.Ninja parameterization and OBS Studio configuration to allow up to 8 remote callers (with both camera and shared content) to be ingested into your vMix video production (via NDI) again. So, I now use VDON Call as a substitute for vMix Call in case I need callers to deliver camera and content streams in parallel.

To have simple and short URLs for both the caller sender-side, the caller receiver-side, and the production sender-side, short "trampoline" URLs are used. As a result, our callers just open Google Chrome and go to a URL like https://studio.msg.team/...ample/sender/C1/Caller-1 and are immediately part of the video production. The same great user experience which we all like from vMix Call, of course. The glue is a special OBS Studio profile and scene collection which lets OBS Studio act as a WebRTC-to-NDI gateway, so that the vMix video production just can use NDI inputs instead of vMix Call inputs. Nothing more has to be changed...

From a performance point of view, VDON Call allows up to 8 callers, resulting in 16+8 video streams in the underlying VDO.Ninja room (8x2 for the caller camera and content plus 1x8 for the outgoing return feed). The VDO.Ninja parameters were selected in a fashion that the WebRTC-to-NDI gateway can run on a medium gaming PC (but then only runs OBS Studio 27.2 and really nothing else), while the return feed encoding and vMix operates on a separate (medium sized) gaming PC. From a quality perspective, the cameras have to be transferred with 720p24, the shared content with 1080p6 and the return feed with 1080p29.97 in order to cope with the performance constraints.

So, if you also have to support remote callers with parallel camera and shared content and especially don't want to fiddle around with all the required configurations of the swiss army knifes VDO.Ninja and OBS Studio yourself, check out my VDON Call sources...
thanks 3 users thanked engelschall for this useful post.
vijay6672 on 3/21/2022(UTC), jpetrie on 3/26/2022(UTC), ksrvpvl on 11/13/2022(UTC)
mavik  
#2 Posted : Wednesday, March 23, 2022 4:39:36 AM(UTC)
mavik

Rank: Advanced Member

Groups: Registered
Joined: 4/23/2017(UTC)
Posts: 1,220
Man
Location: Germany

Thanks: 3 times
Was thanked: 168 time(s) in 150 post(s)
Sound promising. Do you have a short video introduction available.
engelschall  
#3 Posted : Wednesday, March 23, 2022 4:43:15 AM(UTC)
engelschall

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2022(UTC)
Posts: 71
Germany
Location: Munich

Was thanked: 33 time(s) in 17 post(s)
Sorry, currently time does not allow me to create a screencast. Just check out the screenshots under https://github.com/rse/vdon-call and just visit https://caller.studio in Chrome, enter "example" and "example" and CMD/CTRL+click on "C1 (sender)" for one tab and another click for "C1 (receiver, camera)" (do not forget to once click into the empty area because videos cannot autoplay) and you can see it in action -- at least without the ingest gateway.
thanks 1 user thanked engelschall for this useful post.
ksrvpvl on 11/13/2022(UTC)
engelschall  
#4 Posted : Sunday, September 11, 2022 9:24:33 AM(UTC)
engelschall

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2022(UTC)
Posts: 71
Germany
Location: Munich

Was thanked: 33 time(s) in 17 post(s)
For your information: you can use VDON Call also without all the OBS Studio and NDI infrastructure, of course. For just using VDON Call instead of vMix Call to ingest guests into vMix, you can directly run the receiver side of VDON Call inside a vMix input of type "Web Browser" (use at least the old but for vMix still latest CEF "Browser Version" of "V86"). For then ingesting a guest under the id "C1" (caller #1) with 720p24 (camera) and 1080p6 (content) use:

Guest URL: https://caller.studio/#/example/example/C1
vMix Input 1 URL: https://caller.studio/#/...example/C1?stream=camera
vMix Input 2 URL: https://caller.studio/#/...xample/C1?stream=content

For ingesting a guest with 1080p30 (camera) and 1080p30 (content) use:

Guest URL: https://caller.studio/#/.../example/C1?quality=high
vMix Input 1 URL: https://caller.studio/#/...y=high&stream=camera
vMix Input 2 URL: https://caller.studio/#/...=high&stream=content

The first example is similar to vMix Call (just 720p) but provides the ability for the guest to share its screen content with a simple click (and for vMix to receive it in the second input). The second example replaces vMix Call by utilizing a real 1080p30 video stream for ingesting the guest. The first we use for a live guest with remote content, the second we use for remote recording some guests before a live event (where the recording then is just played out).

Hint: do not forget to replace the "examples" in the above URLs with your organization name and your room name. Go to https://caller.studio/ for creating those URLs from scratch the easy way.
thanks 1 user thanked engelschall for this useful post.
ksrvpvl on 11/13/2022(UTC)
ksrvpvl  
#5 Posted : Sunday, November 13, 2022 3:50:41 AM(UTC)
ksrvpvl

Rank: Newbie

Groups: Registered
Joined: 11/4/2021(UTC)
Posts: 1
Russian Federation
Location: Saint Petersburg

Thanks: 6 times
it is very greedy. just one call and obs loads the i5 12400 processor by 70 percent with over 3000 mb of ram. the best option is to use just adding to the vmix if you have one pc.
how obs gives all the scenes in ndi?
sunkast  
#6 Posted : Sunday, July 16, 2023 9:28:15 AM(UTC)
sunkast

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2017(UTC)
Posts: 60

Thanks: 3 times
Was thanked: 6 time(s) in 6 post(s)
Originally Posted by: ksrvpvl Go to Quoted Post
it is very greedy. just one call and obs loads the i5 12400 processor by 70 percent with over 3000 mb of ram. the best option is to use just adding to the vmix if you have one pc.
how obs gives all the scenes in ndi?


This has been my experience as well with vdo.ninja. It's 2023 and vMix Call is still constrained to 720p for callers. But sadly vdo.ninja, even with just 1 1080p call, seems to overwhelm my PC's resources. I can easily handle a pair of callers in vMix call, with one of them also using vMix to send me 1080p video while only using about 30% of my resources on a really old PC, and that's with a bunch of other crap that I leave running. But as soon as I take even 1 caller from vdo.ninja, those resources are overwhelmed. vMix really needs to implement many of the quality of life features that vdo.ninja has. Starting with support for 1080p calls via the browser.

VDON Call while impressive, looks like it'll require 2 gaming PCs to really run well.
engelschall  
#7 Posted : Sunday, July 16, 2023 6:13:53 PM(UTC)
engelschall

Rank: Advanced Member

Groups: Registered
Joined: 3/7/2022(UTC)
Posts: 71
Germany
Location: Munich

Was thanked: 33 time(s) in 17 post(s)
Yes, VDO.Ninja is resource greedy. But VDON Call is a wrapper for VDO.Ninja which ESPECIALLY sets dozens of VDO.Ninja parameters so that a gaming PC can cope with up to 16 video-streams in parallel (8 cameras plus 8 screen-sharings). VDON Call especially uses 1080p, 24 fps, H.264, etc. And this way VDO.Ninja is less resource greedy than in default configurations. So, don't even try VDO.Ninja yourself with a standard configuration. You really have to use VDON Call configurations. And we successfully ingest 16 streams via NDI to our network on a i9-12900KF with 32GB RAM and a NVIDIA RTX 3900 Ti this way.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.