Sending jit.desktop/matrices and audio over internet


    Nov 17 2011 | 3:21 am
    Hi all,
    I was toying around with making a patch to send jit.desktop capture, live audio, and text chat over the web (like GoTo Meeting etc.) and was hoping for some advice. I know how to put the patch together but I'm sure it wouldn't be optimized, and given the large amount of data, it would be great to get that good balance between bandwidth and quality.
    The video part would be mainly for an "e-whiteboard", so it could definitely be downsampled by at least 2 in each dimension and still be readable. Also the audio would only be for voice, so it could be downgraded too.
    The main patch would broadcast to a number of other computers, ideally with dynamic logging in. Only text chat would come back to the master patch from the remote viewers (if they have questions), no audio or video. No chat back out is needed, the audio handles that.
    The overall idea is to have remote tutoring sessions using an electronic whiteboard, where those logged in would hear the conversations in the tutoring session and see whatever is written on the e-whiteboard. No other video of the session is needed. I also want all sessions recorded (whiteboard, audio, and text chat) for later chopping and archiving.
    So: any tips for optimization? Is jit.qt.broadcast the best option for streaming to multiple remote IPs? Otherwise, how to use multiple jit.net.send objects most effectively, especially when many may not be active?
    What about audio quality rates (using jit.catch~ and jit.release~ I imagine, unless there's a direct signal option), and how do these get sent over the network alongside the video (a different port on the same IP)? This is if I go with Max grabbing and sending the audio, but I could also just use the whiteboard software if it supports it...probably an easier option.
    For recording the session for archiving, if we use a SMART Board or similar for the e-whiteboard, it can do this. But having a home-grown, much cheaper solution would be great (use a tablet and a free e-whiteboard program, plus projector), or go ahead and use a video camera with a traditional whiteboard, but this is the least desirable.
    I was thinking that to ease processing on the computer that's already streaming the data, we could have a dedicated hardware recording device that grabs the video and audio from the computer directly and records onto an SD card or similar, so there's no gigantic file building up on the main computer's hard drive over an hour-long session. Anyone have thoughts on/experience with these hardware devices?
    One further option for all this is to send the data to a streaming media server, then people would just go to a static page to get the media streamed to them...no patch needed at their end. I imagine this would be a lot better bandwidth-wise than trying to send from the main patch to multiple other machines, correct? Assuming the media servers are better optimized for this?
    Just poking around with some ideas for now...Probably one of the already-made solutions will work best, if nothing else but for the ease of logging on and having no app to download...but I know Max can do all these things, and it would be interesting to try it out in the most optimized way possible, and compare the results.
    Thanks for any thoughts on this!

    • Nov 17 2011 | 9:09 pm
      Thanks for the links---lots to explore there and some interesting developments coming soon!
      I tested jit.qt.boradcast in our computer lab. It connected OK to a computer next to me, but the frame rate (if you can call it that) was horrible, like 4-5 frames per minute, yes, per minute. I tried a number of different codecs in the patch, nothing seemed to make a difference. Has anyone gotten any better results from this? Was I doing something wrong? I was using the help file. 5.1.2 (they haven't updated in awhile I know)
      jit.net.send/recv, on the other hand, worked brilliantly. But the drawback there is that the receivers need a patch or standalone to connect, whereas using the broadcast they don't. Also they need to furnish their IP addresses explicitly to the main patch so that jit.net.send knows where to send...not a huge deal, but still is another step.
      On that note, seeing as how jit.qt.broadcast is Mac-only, is it true that only the broadcasting computer needs to be a Mac? And that anyone with Quicktime at the other end (Mac or PC) can view the broadcast?
      Thanks for other insight, and hope I was just doing something wrong. It would be great to get that working...