Reliable WiFi Webcam (or small cam)



  • For an upcoming project i will need 2 to 3 wireless cams that can (must) be battery operated for at least 1 hour and can be fed into Isadora, Syphon or live capture. Low latency and a good picture quality would be nice of course.

    i tried go pro and other action cams (like the kit vision /escape HD5W) with no success. So if anyone has some experience with small affordable cams help is highly appreciated. And proven to work within Isadora please!!
    best
    epocam & ipod/phone work but are to big ! the cams get clipped on the performers! 


  • You can get some high power rf video transmitters and receivers and use some of the wired spy cameras, this will be bigger but in separate parts- the camera bit can be quite tiny but then the transmitter and battery will have to be hidden somewhere. The quality is pretty low too and RF gets a lot of interference. Rf units like this are tiny but the image quality is bad- aesthetically if you need to work with low res, dropouts, interference and a CCTV look then these are fine (I needed exactly this once and they were perfect, because they dropped out and had a bad image). I hour operation is going to be an issue, for a lot of systems this means a big battery.

    You can also go for a digital transmitter like paralinx and an HDSDHI board camera like [this](http://www.ebay.com/itm/2-Mega-1080P-HD-SD-Board-Camera-Panasonic-CMOS-RS485-Remote-OSD-WDR-3D-DNR/261146220408?_trksid=p2047675.c100011.m1850&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D35625%26meid%3Df82fcda828214ba8b76f725badffb5b1%26pid%3D100011%26rk%3D1%26rkt%3D5%26sd%3D200868754380). By the time you have all the components it will be big and heavy.
    There is also [this](http://troikatronix.com/troikatronixforum/discussion/comment/11498/#Comment_11498) which will allow you to use a raspberry pi over wifi with the camera kit, again, by the time you get it all together with battery and case it will be bigger than the iphone.
    I really think that ipods or iphones each connected over wifi (with an industrial router from Rukus or some equivalent) to an apple TV that is plugged into a capture box VIA HDMI is the best solution. Reliable, pretty small, easy to use and with the industrial wifi set up properly and using a capture box you get not much overhead (epocam eats computer power and is not reliable enough for showtime IMHO) you can be comfortable going into a show and getting a good image. Maybe you need to design and print a wearable mount for the cameras that keeps them out of the way of the performers.


  • @Fred thanx for the very detailed descriptions and explanations. there is a true lack of small lightweight possibilities. And i then there will be not much hope that apple ever has a built in camera in a ipod "shuffle"

    i think there is some nano ones though. i will check if there is some wifi possibility. 
    best


  • iPhone 4S or better, and Airbeam (on device) and Airbeam Pro (on Isadora Mac). Will expose up to 4x iOS devices’ cameras via Syphon to Isadora. Airbeam has proven far more reliable for me than EpochCam, where I’ve had 4x iPhone 4S’s working consistently without issue for up to 2 hours at a time... 2 of those mounted on Motrr Galilleo PTZ mounts, which are separately controlled via motion tracking blobs with processing. The other two tend to be mounted via whatever means to the performers... with material pinned over to disguise where necessary (shirt pocket + judicious application of a cigarette tip works well, then gaffa’d on the inside of the pocket).

    I cart a pair of Draytek Vigor 2830N routers around with me, one in each wing... one’s just run as a slave access point to the other, creating a loose WDS WiFi mesh.


  • @Marci thanks for the detailed information. If you can recommend the Gallileo i might get one, which could make my life easier in this performance. I will give a try with Airbeam.

    And if there is a chance of your help with Processing"and tracking blobs (as i am no real programmer and just started with processing)) this really could do the trick i think. 
    best


  • @Marci sorry to bother you again. i finally bought the Motrr Galilleo and i´m quite happy with it. the airbeam delay is ok and seems quite stable. which brings me back to your experience with processing. i probably have 5 camera positions and one following a red dress. is there a way to combine processing with isadora so i can set the position or movement within the scenes?

    thanks for your help


  • If you’re wanting to pan the Galileo to specific fixed positions, then, with Airbeam up & running on the iPhone and Galileo connected, you just need to fire an http request to: 

    _ http://ipaddressofiphone/service/galileo/position?absolute='1'&pan=90&tilt=90_
    ...where the values for pan & tilt are in degrees. Experiment with values to get the right ones for your layout. This can be done directly from Isadora with native actors.
    For blobtracking via processing, see the attached sketch (& read all the comments). This requires Airbeam Pro to be running on the same Mac as Processing, with one camera opened in monitor mode 
    (altho technically it IS also doable without needing Airbeam Pro & Syphon as you can grab image frames from _http://ipaddressofiphone/service/camera/image.jpg_ which reduces CPU & Ram load on the Mac, but introduces latency of transferring the JPG via http request, which tends to be slower & laggier than using AirbeamPro & Syphon)
    Takes fine tuning for every different situation / location (minimumWeight) and depends on variables: e.g. well lit subject against dark background it should be able to find and track easily enough... the more complex it gets (the more blobs it finds above the minimum weight), the harder it gets.
    Once the blob is identified, the sketch simply sends the correct pan and tilt degrees to the URL above to move the blob-centre towards screen-centre.

    17eee9-galileoblobtracker.zip



  • More Galileo endpoints... we’ll assume Galileo/iPhone IP Address is 192.168.0.28 for sake of demonstration... The following info comes from viewing the source of http://192.168.0.28/js/com.appologics.videography.js
    Position Galileo in camera coordinates
    http://192.168.0.28/service/galileo/position?convert='1'&pan=30&tilt=30
    Position Galileo at absolute position
    http://192.168.0.28/service/galileo/position?absolute='1'&pan=90&tilt=90
    Position Galileo incrementally
    http://192.168.0.28/service/galileo/position?pan=5&tilt=5
    Set absolute velocity on both axis
    http://192.168.0.28/service/galileo/velocity?convert='1'&pan=40&tilt=40
    Set velocity on pan axis
    http://192.168.0.28/service/galileo/velocity?increment='1'&convert='1'&pan=30
    Set velocity on tilt axis
    http://192.168.0.28/service/galileo/velocity?increment='1'&convert='1'&tilt=30
    Starts recording video in client device
    http://192.168.0.28/service/recorder/start
    Stops recording video
    http://192.168.0.28/service/recorder/stop
    Take a photo on client device
    http://192.168.0.28/service/recorder/capturephoto
    Configures the focus point of interest x=300, y=200 for the iPhone Camera
    http://192.168.0.28/service/camera/configure?focusPOI=300+200
    Configures the exposure at the point of interest x=300, y=200 for the iPhone Camera
    http://192.168.0.28/service/camera/configure?exposurePOI=300+200
    Switch Focus Modes of the iPhone Camera
    http://192.168.0.28/service/camera/configure?focusMode=locked
    http://192.168.0.28/service/camera/configure?focusMode=continuous


  • At last two weeks I've tested same solution for Windows.

    It very simple. I used two android's  smartphones as webcams with [IP Webcam](https://play.google.com/store/apps/details?id=com.pas.webcam&hl=ru) installed. These smartphones connected though Wifi-router to PC. 
    On PC I've installed [ManyCam](https://manycam.com/) which allow me connect to these smartphones and pass their videostream to Isadora as Capture device. 
    Two smartphones works perfctly on single router. Video delay was minimal(it seems as realtime picture) when smartphones didn't move. When I start to move, some freezing appeared, but not so critical.
    It very simple to use on WIN. Maybe you find analogue for Mac.
    Best wishes


  • @Marci ...thanks for the reply...but " to fire a http request using native isadora actors" ?!? what actors, what request!? I love Isadora, and i truly appreciate the help but

    for the pros out there ! keep in mind that some people have no or litte programming background (so what is clear for you for some of us isn´t).  i am trying hard to get into the field but it will still take some time. 
    best wishes


  • 'Isadora send http request' into Google = http://www.dusxproductions.com/blog/web-apis-in-isadora-part-1/ (top result) ... Also see the TCP Send actor in the Isadora manual. Everything I know I've learnt & taught myself via Google and forum searches... ;)



  • @Marci  i totally appreciate your help and hints. and i´m really sorry if i insulted you or anyone of the pro´s with my previous message. but we sometimes (designers & coders) do speak a different language. I know i could learn a lot from google and platforms. But sometimes i´m lacking time according to other duties.

    best
    p.


  • Heh - ditto - Am the full-time data manager at a local college, and exams season is upon us...! Isadora’s really just a side-line hobby cash top-up in my spare-time... no way I could make my full-time wage out of it.


  • Tech Staff

    If there are specifics that you think I should cover in a tutorial, please let me know. I am happy to do so.

    recently the TCPI-IP actors have been updated, so there are now additional controls available (giving you better control) But I think that tutorial is still pretty much correct, and should walk you thru some of it.


  • @DusX I downloaded printed and worked my way through your Tutorial but far from understanding :( Especially the use of it. What would trigger my parameters (like pan/tilt) of my motor galileo? Or how would i adjust whatever parameter from Isadora with this method?

    best wishes


  • Okey-dokey. Here goes... this handles panning and tilting. From my post above, the URL to control this via a web browser (ie: copy and paste it into the address bar of a web browser on any machine on the same network as the iPhone, and hit go) is: 
        http://192.168.0.28/service/galileo/position?absolute='1'&pan=90&tilt=90
    This will set the Galileo to 90 degree clockwise rotation pan, and 90 degrees vertical rotation tilt.
    In the above URL, the TCP address is 192.168.0.28 _(replace this everywhere in this post with the ip address of your iPhone running Airbeam - this should be displayed on the phone when you first start up the camera in the instructions along the top of the screen - **Browser via: [address]** or something like that)_. 
    As it's a bog standard web address using http, the port is 80 by default.
    _[Bonus info: If the address began with https, then we'd be using port 443 by default. If the web address featured a colon thusly: http://192.168.0.28:8080/ then the device is running it's webserver on a non-standard port - in this case the port would be the value after the colon... 8080]_
    Armed with those two bits of info, add a **TCP Stream Control** actor... and fill in the **tcp addr** field (your iPhone’s ip address) and **tcp port** field (80).
    Looking at the rest of the web address, there are 3 variables contained in it... **absolute**, **pan** and **tilt**. We want to manipulate pan and tilt.
    Add a **TCP Send Data** actor. We need 2 params, one for pan and one for tilt, so set it’s **params** to 2. 
    Make sure you have the information pane open on the righthand side of Isadora (View > Information from menus across top), then when you hover over the TCP Send Data actor, it'll state in the info pane that to set the formatting, double click the TCP icon in the Send Data actor... so let's do that now.
    We've already dealt with connecting to the http://192.168.0.28 part of the web address with the TCP Stream Control actor. We now need the rest, so, in the editing box of the TCP Send Data actor, referring to the DusX tutorial for making a HTTP request, you want the following...
        "GET /service/galileo/position?absolute='1'&pan=" **P1** "&tilt=" **P2** " HTTP/1.1\r\nHost: 192.168.0.28\r\n\r\n"
    From the information pane, you'll have gathered that whatever figure you supply to the first params field of the Send Data actor is accessible via P1, and the next via P2 and so on. Compare what we've put in the TCP Send Data box vs the URL address... we've substituted the fixed pan value of 90 for parameter P1, and the fixed tilt value of 90 for parameter P2.
    Now, add a **Trigger Delay** actor, and set the Delay to **0.5**. Connect the '_connect_' output of the TCP Stream Control actor to the input of the trigger delay. Connect the output of the trigger delay to the trigger input of the TCP Send Data actor.
    Finally, add a second **Trigger Delay** actor. Connect the ‘_connect_' output of the TCP Stream Control actor to it's input. Set it's delay to **1.5** seconds. Connect it's output to the '_deactivate_' input of the TCP Stream Control actor.
    Set **param 1** & **param 2** values of the TCP Send Data actor to a number between 0 & 360 (as we're talking degrees of rotation). 
    Click the '**activate**' input of the TCP Stream Control actor to fire the request off.
    This will: establish a connection to 192.168.0.28 on port 80 with the TCP Stream Control actor. When the connection is established, it'll send a trigger via the Connect output to the 2x trigger delays, the first of which will wait half a second, then trigger the Send Data actor which will send the HTTP request, and your camera should then move to the pan and tilt position specified. The second trigger delay simply waits a bit longer, then deactivates the connection.
    Change the param values, hit activate again to send them to the Galileo.
    Have a look at the other endpoints... and hopefully you should be able to work out how to add Send Data actors for some of the others. You should end up with something looking like the below.
    You can add a keyboard watcher and connect it to the activate input of the TCP Stream Control actor... or an OSC listener so that you can issue commands to the Galileo from TouchOSC on a second iOS device. You could use eyes++ watchers to manipulate params1 & params2 of the TCP Send Data actor, or take OSC values from a Kinect, to control pan and tilt via the motion of an actors limb... etc etc. 
    Better yet, head to View > Actor/Control split. Add a 2D slider, and a button. You’ll see each item has some numbers in the corner - these are the CtrlIDs. So for the 2D slider, pan is 1 and tilt is 2, and the button would be 3\. Left click once on the word ‘activate’ on the TCP Stream Control actor, and set it’s Ctrl ID link to 3.
    Left click once on ‘params 1’ in the TCP Send Data actor, set it’s Ctrl ID link to 1, and set ‘params 2’ Ctrl ID link to 2.
    Dbl click on the 2D Slider, set it’s minimum to 0, maximum to 360, steps to 2, and tick ‘display value’. Click OK.
    Dbl click on the button, and set ‘Button Text’ to ‘Send to Galileo’. Click OK.
    Resize the controls as appropriate.
    Head to Controls > Disable Edit Mode from top menus.
    Now, as you drag the 2D slider about, you should see the two params of the TCP Send Data actor change. Use the 2D slider to set pan (x axis) and tilt (y axis), then hit the ‘Send to Galileo’ button to issue the new position to the camera.

    569cf3-httprequest.jpg



  • Screenshot of the sketch with controls...6e9fe0-httprequestcontrols.jpg


  • Tech Staff

    @Marci

    Thanks for walk thru. Do you have this device?


  • Motrr Galileo? Yup... Got 4x iPhone4S dedicated to 4x Galileo 30pin - they started popping up cheap on eBay the day they brought out the Bluetooth version. I prefer the old 30pin as everything can be powered via USB rather than relying on batteries. The iPhone4S's were all grabbed for next to naff all when work upgraded upper management to 5S's... otherwise they were just headed to a skip. They're incredibly useful!



  • @Marci Thanks to your detailed description and support i finally managed to move the galileo and syphon airbag into isadora. works great but only param2 is responding. what did i do wrong. i tried the

    motrr app and it take pan and tilt. so the tool is working. i attached my patch and a screenshot. maybe you have an explanation.
    best
    ps: already in the browser it moves only in 1 direction!  

    c1aa09-screen-shot-2016-05-10-at-16.12.31.png 3aff96-galileomove.izz


Log in to reply
 

Looks like your connection to TroikaTronix Community Forum was lost, please wait while we try to reconnect.