What To Do Now That Microsoft Is Retiring Skype?

Judah75

New Member
Not sure how many people use Skype for connecting guests on OBS, but I just saw that Microsoft is retiring Skype.

Is there any good NDI system that can be used in Skype's place?
 

nathanfrompa

New Member
I'm trying to figure this out to. Teams, which is replacing it, does have NDI support, but also has a time limit. I'm struggling to find something appropriate and free that doesn't require me to just screen record and rebroadcast along with my desktop audio.
 

AaronD

Active Member
...doesn't require me to just screen record and rebroadcast...
What's wrong with that? I have a meeting rig that does that. Works great!

I wanted something that would run a media-based presentation well, to both local and remote audiences at the same time. What I ended up with, is 2 simultaneous instances of OBS, a standalone web browser running Jitsi (the meeting), and a DAW to handle all of the audio:
  • OBS Master has the presentation scenes and the local camera scene(s), and directly feeds the meeting through the virtual camera. Its audio goes through the Monitor to the DAW, not directly to the meeting.
  • The meeting gets its picture from OBS Master via the virtual cam, and its audio from a dedicated output from the DAW. Its audio return goes back to the DAW, and it runs full-screen for OBS Slave to Window Capture.
    • Note: the Window Capture does not require the window to be visible. It can't be minimized, but it *can* be behind something else. So once I have the meeting set up and running, and fullscreen, I Alt-Tab to OBS Master's controls on the same physical screen.
  • OBS Slave has two scenes with one source each: [Meeting Window Capture], and [Presentation from OBS Master]. Its audio comes from the DAW, and its Fullscreen Projector goes to a TV for the local audience. The recording to watch later, comes from here too.
  • The DAW handles ALL of the audio, as separately as I can get. Every individual source and sink connects directly and independently to the DAW, not to anything else. So now I have full control of everything, all in one place.
Tying all of this together, so I only have to focus on OBS Master and everything else follows along automatically, is the Advanced Scene Switcher plugin:
I have a naming convention of scenes in OBS Master, that Adv. SS picks up on, and sends the appropriate messages to
  • The Slave instance of itself via the Websocket server.
    • Only OBS Master has the WS server active. The Slave instance of Adv. SS connects to that.
  • The DAW via OSC messages. (Open Sound Control)
    • Because the OSC messages only command immediate step-changes (in my DAW at least; read the documentation for yours), I actually have them controlling the aux sends of one more channel strip, that is fed from a 20kHz sine generator. That 20kHz sine, on or off, is used as a control signal to a gate on each of the signals that I actually want to control. Control on -> gate on. Control off -> gate off. The timing controls of each gate then, create a fade.
All of this is managed by a script. It is NOT started manually! That script sets up the environment, starts each app in turn and gives it a few seconds to start providing what the next app needs, etc. Then it waits for me to tell it I'm done, and tears it all down in order, with similar delays, so that nothing sees its resources go away.

---

It sounds like a lot, but it's all understandable if you take it slow, draw it out, and think through it methodically.

If you want a turn-key solution that already works, you might be waiting a while. But if you can build your own rig from technical requirements to creative implementation like a professional media guy does routinely, then you're off to the races!
 

nathanfrompa

New Member
I'm a technical person. I do software dev for my day job, but I'm certainly not a "professional media guy." I just want a nice looking way to run my DND stream with 5 other people.

About your setup. Do you get individual audio streams so you can mute one person if necessary? And if people come and go from the meeting, do they show up in consistent places on the video, or do you need to adjust which portion of the window you're capturing?

Honestly, looking through everything, I'm leaning towards trying vdo.ninja. Peer-to-peer meeting, and each individual can be added as their own web source to OBS. It's probably the best option I have, even if the UX for people isn't as clean as a Skype call.
 

AaronD

Active Member
Do you get individual audio streams so you can mute one person if necessary?
I do that in the meeting itself. Jitsi has a menu for each person, and that's one of the options. After enough harping on it, people do eventually get the idea to keep themselves muted until they have something to say, unmute themselves to say it, and then mute themselves again. Basic etiquette for *any* online meeting. All of my people are nice enough to trust with that, and the few times I've had to do it myself are when they forgot.

Oh! Here's the link to Jitsi:
It's free, open source (referring to the server: you can install it on your own machine if you want, modify it if you want, and connect to that instead of their cloud), and all of the clients run in a web browser, including that part of my rig. No installation necessary for them. Unless they're on a phone; then they need the app.
Unlimited people, unlimited time, all for free with no ads. Everyone that uses the same name is connected, so pick a good one!

And if people come and go from the meeting, do they show up in consistent places on the video, or do you need to adjust which portion of the window you're capturing?
I capture the whole thing at once and show it all at once. No cropping or rearranging.
Jitsi has the option to show the one person who's talking, full screen, or a grid of everybody. I stay on the grid. Never really cared about the order.
 

nathanfrompa

New Member
Yeah, that's a non-starter for us. We need to be able to not only have a widescreen layout, but also a vertical stack next to the game map, so just rebroadcasting the Jitsi window isn't viable.
 

AaronD

Active Member
That's an important detail that would have been nice to have earlier!

I'm a conference meeting. You're a gaming session. Bit of a difference there!

I'm a technical person. I do software dev for my day job...
[Jitsi is] free, open source (referring to the server: you can install it on your own machine if you want, modify it if you want, and connect to that instead of their cloud), and all of the clients run in a web browser...
I haven't looked into it myself, but I wonder how hard it is to make a custom Jitsi server that does what you want. Maybe a fixed number of participants, in fixed locations, showing black when not present. You'd still capture the entire window and crop it to get your custom tiles, but at least they'd be consistent.

Audio would still be limited to what the browser can produce, which is probably a single mix of everyone. But that *might* still be okay, depending on what you're actually doing. As a sound guy, it's like mixing with stems instead of the full multitrack. (Instead of each individual vocal, you have "lead" and "backup", already mixed. And instead of each individual drum mic, you just have "drums". Etc.)

Or, maybe you can have a separate meeting for each participant, in a separate browser window. You'd have a lot of browser windows, but it would keep everything separate and consistent. Maybe that's okay?

Since you're on Windoze, which still gives exclusive access to video sources, you'll probably have to send black to all of those separate browser windows...unless you can modify the server again, to accept your camera once and copy it internally, like OBS does if you use it right...and show black when the other end drops off, instead of mirroring the local feed.
Still probably send black to each individual "meeting", but have a "magic name" that you send your camera to, and that gets copied to the remote end of all the others but not the local end, possibly determined by IP address or something like that...

I dropped Windoze a couple of years ago for other reasons, and use Ubuntu Studio Linux instead. It does allow multiple things to use the same video source, which is REALLY NICE!!!
 
Last edited:

nathanfrompa

New Member
Fair enough, yeah, I should have given more in terms of requirements. I thought about trying to run multiple instances of something like Jitsi and OBS and figure out how to feed everything back to each participant, minus their own audio, but I think that's overkill. At this point, I think I'm going to try vdo.ninja and see how that works. In theory, we should be able to use browser sources for each participant's video, and they'll be in a group through the vdo.ninja interface.

IIRC, browser sources have their own audio, so we should be able to use that to mute individual users (if necessary, it's an infrequent need, honestly). It's more useful for balancing if someone has low audio that we need to boost or something. If I run into something I can't do with that, then I'll have to investigate something like customizing a Jitsi server or some other solution depending what walls we run into.
 

AaronD

Active Member
IIRC, browser sources have their own audio, so we should be able to use that to mute individual users (if necessary, it's an infrequent need, honestly).
Yes, they do. And there's at least one option for how that works. Play with the checkbox in the Browser Properties to "control audio via OBS" or something like that.

It's more useful for balancing if someone has low audio that we need to boost or something.
I haven't had that problem, at least not with a meeting. Jitsi seems to have some good noise suppression and "broadcast mastering" built-in, so everyone comes to me loud and clear. And I *know* that those remote rigs are not all adjusted to professional audio engineering standards! So there's gotta be something in there to make up the difference.

I do still have my own noise suppressor on the mix that stock Jitsi gives me. The server clearly does a lot, but some does still get through. And I've found that having multiple stages of noise suppression tends to work better anyway, than just one that tries to do everything.

If VDO.Ninja gives you the raw audio with no processing whatsoever (which it might, given the wide variety of use cases, some of which really do *need* to be raw), then you'll need to look at adding all of that processing yourself...at which point you should also at least think about popping all of that audio work out to a DAW and leaving OBS completely silent except for the one final finished soundtrack from the DAW that OBS passes through completely unchanged.

If you do that, then you can't use browser sources anymore. They have to be complete browser windows, outside of OBS. Each one has its own Window Capture, and connects to a different audio loopback to get into the DAW independently, and then you can control them from there.
 
Top