vMix Forums
»
General
»
Feature Requests
»
WebRTC Integration to vMix
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
Tom
it's not possible to compare Talkshow vs WebRTC with vMix.
Talkshow is a dedicated and proprietary hardware device, worth $3500. It's a client for Skype for Business with SDI i/o ports (thus requiring SDI i/o plugs on the switcher aswell). Nevertheless it also requires a special attention to audio routing. It doesn't work out of the box by magic without you taking care of what you send to it. It's not plug and play. You also need to use AUX outputs in your switcher to select what your remote guest will see and hear, else he will get his audio back with a delay. So the terms and the cabling are different but the logic (or the complexity if you prefer) is the same.
WebRTC is an opensource protocol to serve various versions of Real Time Communications through dedicated web pages. Because it is open source, there are many versions which are usually not fully compatible with each other. The way it works, the way it is implemented by providers/platforms is totally different from Skype. But the logic remains the same:
- route audio and video from this web-application to vMix (NDI is the easiest way) - route audio and video from vMix to this web-app (a virtual audio cable is still needed unless you have many audio buses on your soundcard)
This way you can choose which WebRTC platform you want to use. Try them, there are plenty, and make a choice according to your needs.
If ever Martin somehow decides to integrate a WebRTC service the way you expect (as a special input, which ihmo is technically impossible considering the way vMix handles audio so far as we cannot route audio Bus A or B towards an INPUT), he will need to choose 1 WebRTC platform (amongst hundreds) and to develop specifically for it. And if this platforms updates its service someday, it may not work anymore in vMix. And this is normal because WebRTC is designed to be served through web pages as a cloud service maintained by the platform itself.
So Tom, just try WebRTC. It's not more complicated than Skype, except you deal with a webpage and not a traditional software. You'll simply need to define inputs and outputs and use a virtual cable. You already know that. I'd be pleased to help if you wish...
Guillaume Another streaming idiot...
PS : Unless you already did, have a look on NDI Transmit. This might help you to setup configs with 2 PCs as it provides virtual devices like vMix external or VAC but over the network and for NDI sources...
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/13/2012(UTC) Posts: 1,162 Location: Melbourne Thanks: 220 times Was thanked: 199 time(s) in 181 post(s)
|
Have a look at this: https://help.livestream....-a-Remote-Live-Interview This is the sort of thing that Tom is talking about. It looks like a livestream implementation of a webRTC and TURN server in the cloud with the WebRTC client being built into Studio itself.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
Yes I know this Livestream feature but :
what is Livestream main business? To be an OVP, meaning they have their own data center, tons of servers, a CDN and many people to deal with it. So they interfaced their OWN WebRTC server in the cloud with Studio.
Martin is not in a position to do so (that's why I said yesterday that Martin would have to choose 1 platform to rely on) Thats' also why I said if you want WebRTC on your network build your own server and interface it with vMix
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 4/6/2016(UTC) Posts: 84 Location: Sweden Thanks: 25 times Was thanked: 18 time(s) in 13 post(s)
|
sinc747 wrote:Reviving this dusty old thread for some more attention. +1 Yes. Now this has become a feature that is actually not just "cool": Now it is a missing feature. But as Martin pointed out. This may be a big project. So I'm thinking - why not just make it a stand-alone program along the lines of the vMix Social? Not only will it allow to keep the code separate from the vMix code base, but being able to use a separate computer for this purpose may even make it even more useful and flexible. Keeping it separate from vMix also makes it easier to outsource the programming task to someone else, so that Martin doesn't have to add it to his own plate. /Jon
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
Amokka wrote: a stand-alone program...
This already exists : it's called a browser WebRTC is a web-app technology based on HTML5 to allow peer-to-peer communication between BROWSERS. https://en.wikipedia.org/wiki/WebRTC
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2013(UTC) Posts: 1,073 Location: Fairhope, Alabama USA Thanks: 555 times Was thanked: 200 time(s) in 166 post(s)
|
DWAM wrote:This already exists : it's called a browser Of all people, I appreciate you not mincing words. I have tried using a WebTRC implementation as a vMix Input / Web Browser, and it is indeed possible which surprised me. I don't know if it's any easier than capturing Zoom or Skype on same PC or 2nd PC. It has different functional challenges among which are the small size of any windows, drop-down-boxes, settings, etc. that may need to be manipulated/changed in the WebRTC / Web Browser Input.
So, having tried the "WebRTC through Web Browser Input" method, I would still prefer a more integrated approach.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
sinc747 wrote:Of all people, I appreciate you not mincing words. Sorry if I offended someone but as we say in French "Let's call a cat a cat". It helps understanding things... The "WebRTC through Web Browser Input" method is challenging, I agree, but did you try to use WebRTC in your regular web browser with desktop capture (as you would do for skype) on the same PC or a second one?
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/13/2012(UTC) Posts: 1,162 Location: Melbourne Thanks: 220 times Was thanked: 199 time(s) in 181 post(s)
|
DWAM wrote:
Martin is not in a position to do so (that's why I said yesterday that Martin would have to choose 1 platform to rely on) Thats' also why I said if you want WebRTC on your network build your own server and interface it with vMix
Before you tell us what position Martin is in to do something, please ask him. This is his company: https://www.studiocoast.com.au/
|
1 user thanked ask for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/1/2015(UTC) Posts: 1,151 Location: Houston TX Thanks: 319 times Was thanked: 263 time(s) in 233 post(s)
|
I can add a couple of possibly useful things based upon personal experience. Firstly, my use of vMix is centered around a weekly podcast about IP communications. We're coming to episode #628 this week. We've been actively covering WebRTC since its inception. We've had the various movers and shakers in the space as guests, including the project lead from Google. We've helped smaller players get exposure, helping them to be purchased by bigger players. Martin says, "It's early days for WebRTC." That's just no longer true. Things have largely settled down. The codec wars have subsided and people have moved on to creating products. That said, I have a hard time seeing how vMix could "integrate webrtc" in a way that didn't completely subsume the product. Further, I don't see the need. When we interviewed the Jitsi Video Bridge team we used JVB instead of a Hangout. We connected two computers such that we could host the conversation on JVB, and stream one of the clients to YouTube Live. See also part 2. It took some head scratching to get it all worked out, but it worked fine in the end. The big issue is the audio requirement for multiple mix-minus outputs. I used VoiceMeeter Banana to handle the audio routing outside of vMix. I did that interview long before NDI was available. NDI makes it a lot easier than before. My biggest problem at the time was that my vMix host is older and was CPU bound. I think that's the defining thing about such integrations. You probably don't want everything in one PC, presenting a single point of failure. Tom Sinclair recently did a video showing how to bring someone into vMix using a second PC. This is a turnaround for him. I think that it's is a smarter move, especially when small, inexpensive PCs like the Intel NUCs can be leveraged. To truly have vMix integrated with WebRTC I think that Martin would need to be running a back-end service, perhaps based upon Jitsi Video Bridge. But that wouldn't satisfy everyone as some would not want the SFU functionality. They might want the Brady Bunch presentation of a traditional MCU instead. It'd be hard to deliver satisfactory solution within vMix alone. On that basis I say, if it's important to you, it has to be a DIY solution so that you can be in control.
|
2 users thanked mjgraves for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 10/13/2012(UTC) Posts: 1,162 Location: Melbourne Thanks: 220 times Was thanked: 199 time(s) in 181 post(s)
|
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/1/2015(UTC) Posts: 1,151 Location: Houston TX Thanks: 319 times Was thanked: 263 time(s) in 233 post(s)
|
Incidentally, JVB is open source. I have access to a private instance. That lets me do a variety of nice things, like add a watermark logo in the corner, or specify maximum resolution. Since it's Select Forwarding Unit (SFU) it doesn't actually process the media streams. It merely routes them. That makes it a lightweight app. Our private instance runs on a modest AWS vm. The alternative is a traditional Multi-point Control Unit (MCU.) This is the classic way to do video conferencing (think Cisco, Polycom, Tandberg) where a server receives all the media streams, decoding them, rendering a presentation layout that gets encoded and sent to everyone. An MCU requires massive server infrastructure to achieve scale. It adds latency and degrades video quality. Since JVB created an open source SFU, the Freeswitch team, a leading open source voip + video platform, implemented an MCU.
|
1 user thanked mjgraves for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2013(UTC) Posts: 1,073 Location: Fairhope, Alabama USA Thanks: 555 times Was thanked: 200 time(s) in 166 post(s)
|
While this discussion has gone well above my paygrade, I did want to add that I used the vMix Web Browser Input to provide a WebRTC input for my Wednesday broadcast. I was still faced with using virtual cables to route audio and the limited vMix audio bus to create the needed mix-minuses (mix-minusi?).
From a common-man-user standpoint, if a standalone app could be created that incorporated WebRTC & NDI & multiple audio channels, that would might the trick.
- Tom
BTW - the show with WebRTC & vMix Web Browser is here if you're interested.
|
1 user thanked sinc747 for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 4/13/2015(UTC) Posts: 59
Thanks: 45 times Was thanked: 3 time(s) in 3 post(s)
|
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
Quote:if a standalone app could be created that incorporated WebRTC & NDI & multiple audio channels That's exactly what vMix does already ! You proved it last night ! Good show btw... I'm joking (well... sort of), I know you would like something simpler to use, more integrated into vMix but, if you read again what mjgraves and I wrote about this and think about it a little more, I fear that the situation is forcing you to resign yourself to lowering expectations. And what you consider a weakness (the mix-minus necessity and the use of audio routing bus) is for me a great added-value for my productions as it allows a technician to speak to the remote guest before being on-air during a live event without being recorded/monitored in the program (Master bus). This is a broadcast quality feature. Regards, Guillaume @al4video : Newteks Talkshow uses Skype, it's not WebRTC.
|
1 user thanked DWAM for this useful post.
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2013(UTC) Posts: 1,073 Location: Fairhope, Alabama USA Thanks: 555 times Was thanked: 200 time(s) in 166 post(s)
|
DWAM wrote:Sorry if I offended someone but as we say in French "Let's call a cat a cat". No problems here. I prefer people speak frankly. - Tom
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/1/2015(UTC) Posts: 1,151 Location: Houston TX Thanks: 319 times Was thanked: 263 time(s) in 233 post(s)
|
My experience has been that WebRTC-based services can put considerable load a host PC. On my admittedly aged desktop the WebRTC service can occupy 40% of available CPU power. It's a balancing act to run vMix and JVB or a Hangout (for example) on the same computer.
Also, some of these services are now adding the ability to send a stream to YouTube Live or Facebook. They do that much the same way the vMix broadcasts a stream.
I know in the JVB case the server runs a headless instance of Chrome, redirecting what would be the displayed stream to the target service. That means that you can, in theory, set them up to send an RTSP stream to your vMix machine.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 7/1/2015(UTC) Posts: 1,151 Location: Houston TX Thanks: 319 times Was thanked: 263 time(s) in 233 post(s)
|
Sorry to belabor the point, but something just occured to me that won't be obvious. A WebRTC service can be unpredictable in how it loads a host computer. In some cases it may be a modest load, while at other times it can be a serious burden.
This is especially true when the service being used is a peer-to-peer service or an SFU. In both of those cases the load on the host increases with every participant that joins the conference.
I had an instance where everything worked fine with 3-4 participants in testing, but fell over in a heap with 7+ participants.
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2013(UTC) Posts: 1,073 Location: Fairhope, Alabama USA Thanks: 555 times Was thanked: 200 time(s) in 166 post(s)
|
mjgraves wrote:I had an instance where everything worked fine with 3-4 participants in testing, but fell over in a heap with 7+ participants.
Probably why the NewTek Talk Show system and other similar systems only go up to four guests. And that's on dedicated equipment.
- Tom
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 8/2/2013(UTC) Posts: 1,073 Location: Fairhope, Alabama USA Thanks: 555 times Was thanked: 200 time(s) in 166 post(s)
|
DWAM wrote:I know you would like something simpler to use...
And what you consider a weakness (the mix-minus necessity and the use of audio routing bus) is for me a great added-value for my productions as it allows a technician to speak to the remote guest before being on-air during a live event without being recorded/monitored in the program (Master bus). This is a broadcast quality feature.
It's not that I mind the complexity so much, it's that the complexity is difficult to teach/share with others, especially newbies. New users that have a passion for taking their message to the world through live streaming, are frequently confused, daunted, and frustrated at this complexity. What they need is a GUI for Hosts with Shows for Guests that has a button for "add mix minus for this guest" or better yet, does it automatically.
I thought PC's would make our life easier!!! Lol.
- Tom
|
|
|
|
Rank: Advanced Member
Groups: Registered
Joined: 3/20/2014(UTC) Posts: 2,721 Location: Bordeaux, France Thanks: 243 times Was thanked: 794 time(s) in 589 post(s)
|
Maybe complex things are not meant for newbies... Do children learn to read Shakespeare before their ABC? Quote:I thought PC's would make our life easier It does but there are limits anyway. Don't forget that nowadays with a single PC and vMix, a single guy can produce TV shows and live events. Not so long ago, this was a matter of hundreds thousands dollars, dedicated rooms, hundreds of cables and many people to operate. Our production potential is already huge don't you think?
|
|
|
|
vMix Forums
»
General
»
Feature Requests
»
WebRTC Integration to vMix
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.
Important Information:
The vMix Forums uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close