Most direct way of receiving feeds, mixing, and sending out?
-
Hi all!
I want to explore the most efficient way of receiving feeds, mixing them in Izzy, then streaming them out (to YouTube, Twitch, FB Live, and/or all the rest).
I got it working in April, but it felt like a lot of unnecessary processing AND (the major hiccup for me) I couldn't get more than 1 feed in full res (needing to crop as I added people). My basic setup in April for a live performance was this:
Dancer A: feed via Skype (enabled NDI) > Izzy via NDI actor
Musician A: feed via their channel on Twitch > OBS Instance 1 (window capture) > Izzy via NDI actor
Local Dancer B (me): Sony A6000 via elGato video capture > Izzy
Sent out via STAGE and NDI
OBS Instance 2 > NDI plugin > FB Live
It worked and there were no hiccups, but running 2 instances of OBS was a window hog and I feel like routing so much could have been more simple. Ideally, I could grab each performers feed directly into Izzy and then sent the mix out via Spout through OBS. Trick is the method of grabbing those feeds directly. Of course I could just use SKype, but the performers (I found) weren't used to Skype and getting them to download the app, setting it up, etc. put a drag on our rehearsal time.
I'm looking at OBS Ninja at the moment and I seem to be able to grab solo feeds via a simple URL below each person in the room. I'm excited about this as it gives me full resolution, independent feeds with no watermark (as is true with Skype)! I /could/ paste each feed into a browser and send to Izzy via window capture, sure. But should there be a way of grabbing directly from the URL (mitigating the need for resizing browser windows taking up real estate on my control screen)? I do have an external monitor, but would like to use that for the ultimate "out" in full screen, or at least the OBS window.
Any other workflows to suggest here?
-
@Callie Hi,
why don't you use ZoomOSC (everybody there) Than Isadora Screen capture through OSC supersources arrangements in Isadora, then just one OBS instance ?
Cheers
-
My two cents:
If you want to use an ISO-focused workflow, you're actually doing really well. I'd suggest ninja over skype any day though, as there are a lot of issues with skype's reliability (particularly with audio) and ninja is pretty rock solid, especially when OBS is on Windows. In the broadcast world, Skype is unofficially banned from modern workflows, even Skype TX boxes are being tossed out windows in major studios.
If you are doing this with a professional production budget, the large event companies are using Zoom Rooms. Weird, right? A program designed for conference rooms and digital signage is powering most of the remote guest systems you see in the field. Well, it's true! Look no further than 090's public workflows (Alex Lindsay breaks them down). They do individual contributions to their studio via Zoom Rooms set up for each talent, letting them get three controllable outputs from each contributor. You could do a less aggressive version of this, perhaps by doing one room for every two or three participants. 090 bridges these rooms via hardware systems (Blackmagic ATEMs, constellations, etc.) for mix minus back to all participants, then they have audio and video ISOs into their broadcast systems. Some do this all in the cloud, merging hundreds of thousands of participants all in AWS. Very cool, but very expensive! But that would be the step above what is done with Ninja in the professional broadcast world to solve the issues you face.
If you don't need genuine ISO workflows, ZoomOSC can help you quite a bit. Running in multi-monitor mode, you can have Isadora collect up to two 1080p feeds from each ZoomOSC instance (pinning between 1 and 2). I treat my Zoom inputs like virtual PTZ cameras, triggered by vMix or Isadora. I break down my workflow in this video. I can use this to get most of the benefits of an ISO workflow at a fraction of the computational expense.
As @Armando suggests, you could use ZoomOSC alongside some of @peuclid 's incredible user actors to get ISO outputs from the Zoom gallery view, which is fantastic if you don't need to increase the size of the video feeds from the gallery view beyond what they are already (you just want to re-arrange / animate / show | hide them). There was a ton of Zoom theater produced this way over the Fall, using Isadora and ZoomOSC together to achieve this. Not as powerful as genuine ISO outs from Zoom (believe me, I am working on that too and am actually demoing that new product on AV Tech Talks tomorrow that can do this!). But this simulated workflow can do quite a bit for you.
Finally, if I can offer one specific piece of advice to you, it is to split up your software among multiple computers. Have an ingest station that converts your webrtc contributions to NDI within OBS, or multiple ZoomOSC pinning machines running NDI scan convert, or at least a computer dedicated to your RTMP encoding and AV sync isolated from Isadora. You can open many doors for yourself by doing this.
Maybe one day Isadora will have native streaming inputs and outputs, but for now, this is how I would approach these challenges. Let me know if I can be of further assistance to you.
-
@armando thank you for responding. I don't want to use screen capture due to the real estate it takes up on my main display to get the most resolution and the percent chance I will show/hide something inadvertently. I would need to bring in another display for just the zoom feeds in this instance, and even then be limited in resolution as more participants join (if I want to keep all participants active in every scene).
-
@liminal_andy thank you for responding.
I think there is a learning curve here I have to sit down and dive into. So far I got to the point where I downloaded and installed Zoom OSC and got a solo Zoom session going. What I can't figure out is how to (without vmix) get the Zoom source directly into Izzy without using screen capture.
Ultimately the end result is actually blending the participants together on one screen via Izzy - mixing 2+ sources as cameras (one local, one remote) at minimum.
I've gone through a few Zoom OSC tutorials, and can't seem to find one that does this (and again a learning curve in order to apply information I've learned in the other tutorials just yet).