Epoccam Feature Requests for Kinoni?

  • Dear All,

    I recently had a friendly interaction with the people that make Epoccam, an app that allows you to send video from your iPhone or iPad to Isadora. They have acknowledged that there is a problem with their drivers for 10.8\. But also they initiated a discussion with me about features that Isadora users might want. 
    It seems the plan, to make their app more universal, is to send the video via Syphon -- which will be good for Isadora since she now supports Syphon directly.
    But they also wanted to know if users were interested in support for _multiple_ cameras at the same time.
    They also were curious if there were other features that people might like to see.
    So, if you have some thoughts, please chime in here, as they will be following this post.

  • Now, I'll add my own feature requests here:

    1) Instantaneous switching between the front and back camera
    2) Ability to receive OSC messages to switch between front and back camera.
    That's what I'd like to see. ;-)
    Best Wishes,

  • Yes. multiple camera at the same time. at least three please. 

  • Ability to snap a still and send it would be great, also camera settings control (over OSC) and flash LED control.

  • Beta Platinum

    Working on 10.8 would be the first thing. Multiple camera, osc for switching cameras would be cool stuff

  • and the same for Android please

  • I'm on Windows.  I like Epoccam because it "just works"!

    Yes, multiple camera support would be great and is it possible to have less lag?



  • I installed the app on my iPhone4 and downloaded the beta drivers for osx. It worked on Skype. Then I downloaded the Skype update and now Skype does not find the camera. Tried uninstalling  and reinstalling the drivers but Skype does not find the camera. Anyone using the Looxcie POV camera ($180) & Isadora?http://www.looxcie.com/

    I bought one and it has not arrived yet.

  • Dear all, this is Sami from Kinoni. Thanks for all the valuable feedback, we will be continuously adding new features to EpocCam.

    Syphon support is already under construction. Won't promise when it is available but will let you know as soon it is ready.
    After studying bit of OSC it looks confusing to say the least. I'd need someone to help me understand how to implement it and especially for testing. But first I'll do some more studying.
    @mark: "Instantaneous switching" cameras is difficult. As far as I know it is impossible to switch iPhone camera faster than we already do. This is a limitation in iPhone (developer) platform. 
    @vanderzee: We are looking into multi-camera support. Should we create Syphon sources dynamically when cameras are available or have 3-4 static Syphon sources that provide black image until EpocCam is connected?
    @Fred: iPhone 5 indeed does support capturing video and stills simultaneously. What if we capture 1080p video, can you use that is a still image or do you need higher resolution? What exact camera settings you would like to control? We can do at least zooming and LED control.
    @bruper: We already have Android app. All the new features we implement for Mac drivers will also work with Android.
    @CitizenJoe: Our lag on iPhone is already really low, mostly caused by network delay. To reduce lag we could use USB, see below.
    We also have a list of things we could technically implement and want your feedback for those:
    1) Video resolution. We can do 720p video or even 1080p video. What are your requirements for video resolution, it is the higher the better? HD resolution also require more wireless bandwidth to be transmitted.
    2) USB-support. While Apple does not officially support transferring data over USB for third-party applications we have found a way to do this. Compared to WiFi USB has lots more bandwidth, but being plugged to cable means camera is next to Mac.
    3) 60 frames per second capture. There are also rumors next iPhone could do 120 frames per second capture. Would it make any sense use have these high-fps videos in Isadora?

  • Yes to almost everything. Black frames fro inactive syphon channels are good- if you need to reset a phone in a show you don't have to restart the whole system.

    Still functionality at video res is fine for me.
    Options for several resolutions including full HD- wireless n and newer phones can handle the bandwidth.
    Actual camera settings would be good, control over the exposure and white balance- this is possible with the IOS SDK. http://developer.apple.com/library/ios/#documentation/AVFoundation/Reference/AVCaptureDevice_Class/Reference/Reference.html
    I tried your app on my nexus 4 and all it does is crash- not to keen on trying the pro version until it works- not the output from your code but I had a similar issue coding for android
    1. 28 23:57:56.684: E/QCameraHWI_Preview(162): android::status_t android::QCameraStream_preview::processPreviewFrameWithDisplay(mm_camera_ch_data_buf_t*): enqueue_buffer failed, err = -19  
    2. 02-28 23:57:56.684: E/BufferQueue(17361): [unnamed-17361-0] dequeueBuffer: SurfaceTexture has been abandoned!  "

  • Dear Sami,

    RE: OSC: for sure I can be of help here. And while one could attempt to create a robust OSC implementation, really it would be as simple as listening on a UDP port for a particular message and decoding it.
    For example, let's say we were to have a command that would select the camera. The OSC message would look something like this:
    /epoccam/cam-select ,i 1
    There are three parts to this message
    1) The ASCII OSC Address = "/epoccam/cam-select" (no quotes obviously)
    2) The ASCII "type tag" = ",i" = one 32-bit integer to follow
    3) The 32 bit integer value (big endian)
    Because the OSC Address and type tag are padded out to a multiple of 4 with null bytes, in reality it looks something like this
    where the bolded 0s are bytes with a value of 0, and nnnn are the 4 bytes that make up the actual value being sent along with the message. So, you could simply to a byte-by-byte comparison of the OSC address + type tag to see if it is a message of interest to your app. Then you would just grab the next four bytes, convert to little endian, and use the value to do whatever you need to do.
    So, mostly what we're talking about is adding a UDP port input to the app  and a table of all the OSC message + type tags you accept. Upon receiving a message, you can run through the table, compare the incoming message to those you actually handle, and take action if you find a match.
    You can actually mock up these messages in Isadora, and send the messages to local host. They will appear in the new monitor window (available in the [pre-release version](http://troikatronix.com/download/isadora-pre-releases/)) so you can see a byte-by-byte breakdown. You'll see something like the message shown in the attached picture.
    Hopefully that sheds some light on how you might implement OSC in Epoccam. One argument for making this effort is that adding interactive control would give your app a feature that would set it apart from all the competitors. People using Isadora, but also using software like MAX, vvvv, PD and others would be pretty interested, especially if you add control for brightness, exposure, focus, etc.
    Best Wishes,


  • multi-camera support: "Should we create Syphon sources dynamically when cameras are available or have 3-4 static Syphon sources that provide black image until EpocCam is connected?"

    I prefer 3-4 static Syphon sources that provide black image until EpocCam is connected>
    Question to Sami: EpocCam worked for me on Skype until I downloaded the Skype update. Now Skype does not find EpocCam. Since this is not an Isadora issue plz tell me the proper place to ask this question. thank you.

  • @Kinoni
    Dear Sami I've being using it since last year on Android with Mac although sometimes it's difficult to get it to work or it looses the signal for no reason... thanks for letting me know that the new features will be in both platforms

  • @vanderzee:

    We are aware of issues with latest Skype and work on fixing them. For some reason Skype keeps changing their behaviour with video devices between releases - and then we do trial and error to see what works. Sorry about the issue.
    I agree our Android is not as good as iOS app, on some devices it just crashes or quality is bad. There are so many Android devices that work differently, it is impossible to test all of them.

  • Just to a note to Sami to say, first, thank you for taking part in this discussion, and second, as you can see, Isadora users are not shy to share their ideas. ;-)

    As a developer I know what it means to add and test features. It would seem that the central requests above are 1) make sure it works on all versions of Mac OS (even if that's done with Syphon) and 2) add the ability to have multiple cameras with a fixed set of Syphon outputs. Maybe that would be the key thing to consider.
    Best Wishes,

  • Mark, I fully agree. First we need to provide an application with Syphon output, it should work on OS X 10.6 and later.

  • Beta Gold

    I can also test osc (use it a lot) an have ipad2 and iphone 3 so I can test multiple cams. i'd love epocamm to send o/c too (why not imagine the iphone sending the image and the o/c data like accelerometer and or gyro) to interact with movement on the images sent by the same person....

  • Izzy Guru


    Me like that idea. Well all above sounds very promissing.


  • @Armando: Sorry I missed your comment earlier. Yes, It is easy to capture accelerometer and gyroscope (device rotation) data and send using OSC messages. We will look into OSC after we have implemented Syphon support and multi-camera Syphon support.

  • syphon YES, dreaming of mega photo functions 100 fx filters, OSC touchVIZ dose this very neat. I know its a lot, just to inspire ….

    best wishes