Webcams 5: SparkoCam & My Canon Rebel XSi

When is a webcam not a webcam? When it’s actually a DSLR!

Canon-Rebel-XSi-Asus-Monitor-SparkocamAround here we are strong believers in DSLRs. Our first DSLR was an Olympus E-10, but these days we have a couple of Canon Rebel XSi’s. Released in Q1-2009 these are not the latest and greatest by any stretch, but they’re nice cameras. We also have a small selection of lenses.

As DSLRs have come to shoot video it would make some sense that they could also be used the more sedate role of webcam. Our Rebel XSi’s don’t shoot video, but they do make nice 12 mega-pixel pictures.

It happens that many Canon cameras, including the XSi, have a feature called “Live View” that’s intended to stream the image to the LCD viewfinder or even across a USB connection.

I’ve occasionally used an Android app (DSLR Controller) to remote control the camera via USB. It works especially well on the Nexus 7 tablet, turning the tablet into a real-time remote viewfinder.

DSLR Controller on Nexus 7

In the past I’ve tried a couple of programs that attempt to leverage this feature to mimic a webcam. One was ManyCam, which simply didn’t do what I required at the time…or hid the capability beyond my view. So many of these programs deliver a diversity cutesy features but lack the ability to deliver video at decent frame rates & sizes.

This past week I stumbled into SparkoCam, a new Windows program from SparkoSoft, shows more promise than anything I have tried in the past. So much so that I made the $30 investment to purchase a license.

SparkoCam screenshot using Canon Rebel XSi as a source

SparkoCam is a nice piece of work. It delivers a substantial suite of capabilities for modest price. For example, it presents to the OS a virtual webcam much like Wirecast. I tried it with a Google Hangout for VUC #457 and it worked nicely.

It allows you to select video sources from amongst the following;

  • A recognized Canon camera
  • A normal webcam
  • The Windows desktop itself; all or partial screen
  • A video file on disk
  • A still image on disk

When using a Canon camera a video source it offers a range of controls appropriate for the camera. That includes such things as manual focus, auto focus type, auto focus zone, color temperature, exposure adjustment, etc. You can capture stills or record video directly from the camera.

You can set the camera for a variety of resolutions from 160×120 pixels to 1920×1080 pixels. Be aware that as you go above 1280 x 720 pixels the frame rate falls off sharply. That’s to be expected given the aforementioned limits of USB 2.0.

There are quite a number of things to like about SparkoCam. For example, is allows rudimentary compositing of a video source with several independent layers. The video source is the background layer, to which you can add a full frame still later, an “object” layer that can be a still or animated item. The objects can behave like animated GIFs, and can be can be repositioned and scaled as desired.

I think that I’ll use the animated pumpkin object to brand the Halloween Hangout that we share with family who cannot attend our annual night-of-fright and candy.

In addition, the video stream can be loaded into one of a variety of “scenes.” These are very much like simple virtual sets. They can be combined with the foreground layer and objects to create fairly interesting and useful presentations.

Once you have the presentation arranged how you want it the software can capture stills or even record the resulting video to disk in WMF format. That’s how I created the following little example clip.

This admittedly simple clip shows the use of the (1) video from the Logitech C910 webcam in the (2) Polaroid scene with (3) Autumn overlay and (4) animated holiday pumpkin object. The camera was set for 720p but I didn’t record any audio.

As the complexity of the presentation increases the frame-rate drops, which is to be expected. The application includes a “green screen” tool that offers some kind of chroma keying. I’ve not tried this simply because I don’t have a chroma green backdrop to use in a test sequence. SparkoCam shows a remarkable amount of compositing prowess for a low-cost application.

There are other capabilities as well, including a number of video effects filters that apply various distortions to the video stream. There’s more to see than I care to describe, so I’ve created a slide show with a number of screen shots and exported images that highlights it’s various capabilities.

While there is a traditional installer for SparkoCam, I started using a “portable” release that doesn’t even install anything into the OS. That makes it safe to try without any chance of impacting your PC. It runs with a large watermark until you enter a license key.

For the serious user of streaming video SparkoCam can’t touch Wirecast. Wirecast is a more sophisticated, professional tool…with a hefty price tag. Priced at just $30 SparkoCam costs less than one-tenth the price of Wirecast, which makes it a lot more accessible to a broad range of more casual users.

It will be interesting to use SparkoCam along side Wirecast to evaluate the use of a DSLR as an alternative to a traditional webcam.

  • Glad to have found this article before buying it. I wanted a record-straight-to-hard-drive solution for my older Canon 40D. Does it really record in 1920x1080p? Or is it just upscaled? Wanted to compare this with EOS Movie Record.

    • mjgraves

      I would not expect it to record at 1920×1080 at reasonable frame rates. The USB 2.0 connection simply doesn’t support that kind of bandwidth. The best that you can do using USB 2.0 is 720p30. The only exceptions are those few webcams that include a compression engine in the camera. The Logitech C910 is one such device. There are no DSLRs that do this. That means that the only way to record 1080 video on a DSLR is to the onboard flash storage, not via the USB connection to the PC.

      • Ah. Well thing is, the 40D doesn’t originally record video. EOS Movie Record was a cool little software that taps into Canon DSLRs’ live view functionality and convert that into video. Pretty neat, but output was limited to 720p at 3:2 ratio. Then I found SparkoCam, and wanted to see if it recorded at 1080p. Framerate drops even if you turned the preview off?

        • mjgraves

          To be plain…you cannot record 1080p video from your camera via a USB connection. As I described previously, (http://www.mgraves.org/2013/10/webcams-3-usb-2-0-friend-or-foe/) the USB connection is simply too slow to handle anything beyond 720p.

          This limitation has nothing to do with the program you choose or your PC. It’s the USB 2.0 connection and the fact that the camera is sending uncompressed frames across the wire. You may find that even at 720p it doesn’t quite reach 30 frames/second.

          The 3:2 aspect ratio has more to do with the internals of the camera itself. My XSi shows 16:9 output when SparkoCam is set to capture 720p.

          • I’m a rebel so I tried it anyways! 1080p seems to go pretty good at about 24ish fps(with the preview turned off). My USB ports on my MacBook are 3.0 so maybe that helped? And I got 16:9 by setting the video to fill the frame in the options menu.

            Thanks a lot for your help, by the way. I really appreciate the replies 🙂

          • mjgraves

            It would be interesting to see what you are actually recording.

            Your Macbook might have USB 3.0 ports, but the camera does not so the connection is limited to 480 mbps.

            The math simply doesn’t support the use of 1080p.

            24 bits/pixel x 1920 x 1080 pixels = 49,766,400 bits/frame

            49,766,400 bits/frame x 24 frames/sec = 1,194,393,600 bits/sec aka 1.19 Gbps!

            OTOH, perhaps the application puts the camera into a mode where it’s not pulling 24 bits/pixel across the wire. Or perhaps it’s able to convey a JPEG stream. It’s worth asking SparkoSoft about this to understand what’s actually happening.

          • mjgraves

            Denis at Sparkosoft just confirmed that the application is scaling the images it gets from the camera. He reports that the actual images that the camera can send over the wire are 1056 x 704. This is limited by the firmware in the camera. So beyond that resolution SparkoCam scales the image to the target size. That makes 720p closest to actual resolution off the camera.

          • Darn. That’s what I thought. So it really is no different than EOS Movie Record, except that it does the hard work for me in terms of cropping the video to 16:9 and scaling it to 720p. Well hopefully it doesn’t look any different scaled! I’ll be sure to show you the video once it’s done editing 🙂

            Again, thanks!

    • It upscales. My canon 60d gives out a resolution of 960×640 or so, and if you are capturing in Sparkocam at 1080p, it get upscaled. Upscaling is cheating, because it not the native resolution, and the pixels and noise only getting worse.

  • james

    I was looking online for a new webcam and couldn’t see anything under about 60 or 70 quid that was recommended….then I saw this article…. hell …. I downloaded the software tried it with my Nikon D5100 and about five minutes later went online to Spa r k o Cam and bought it immediately…. I use Adobe Premiere Pro for movies but this application is great for using my D S L R as a webcam….thanks a lot Graves…. saved me about 60 quid and get a much finer and more controllable image….

  • Alexei M.

    Check ExtraWebcam (http://www.extrawebcam.com/). Pretty much the same capabilities (and supported camera list) as SparkoCam, but for USD 9.95.

    • no high resolution. 1024×768 is max. No 720p or 1080p.

      • mjgraves

        It’s also worth noting that some things, like the Blab I did earlier this week (https://www.mgraves.org/2016/06/online-marketers-how-to-hold-branded-blabs/), don’t require HD video. Blab with a 4 person panel only requires 480p from each person.

        • Ye but for my pupose, it wont work. I want 1080p with a 30 fps stream in low light conditions. Doesnt work with all software out there.

          • mjgraves

            If connectivity is a problem the DSLR just might not be the right camera for the task. I also think that vMix Basic HD is a better value than SparkoCam, but more complicated to use.

          • Ye, i am already looking for something better then my Lifecam Studio. I am looking for USB3.0 webcam. And the only USB3.0 webcams which have great qaulity are machine vision camera (industrial use). I looked at the Point Grey camera, but they dont have really lenses which are sharp from the minimal working distance to infinity like webcams. Those lenses at point Grey are used for reading stuff at close range.

            Some ppl at point Grey are trying to see if there is a lense which can work with the cam what i want. Still need to get some emails from then. And next to that there is a company called Sub2r, which is making an Broadcast webcam on usb3.0 with 60fps @ 1080p. Also need to hear from them how far they are with their product.

  • First of all Sparkocam cant capture 1080p from the DSLR. The Liveview output from the AV USB Port only give about 640p (960×640) or on some camera’s 720p. There software can capture at 1080p, but most DSLR doing only 640p.

    I tried this with my Canon 60D, and i the output resolution from my camera into Sparkocam was 960×640 and capture frame from Sparko at 1080p, which result into a big black border or it get upscaled.

    And the 2nd thing is. It wont never capture 30/60fps on 1080p resolution. The ubs is only 2.0 on these camera. Bandwith is to low to capture 30fps in high resolutions.

    Its kinda sad Sparko doesnt say this, and misleading ppl.

    And another things is. The DSLR goes in standy each 20min. The software has a function to wake the camera up again, but you see a turning off and on in the stream in a few seconds. Not really a good solution for hours of streaming live.

    • mjgraves

      Oxize,

      In later posts that mention SparkoCam, and even in the comment thread here, I describe the very things you say. The maker of the software, when asked, freely admits that it cannot deliver real HD or FHD. Canon doesn’t support delivering HD or FHD streams via USB.

      USB 2.0 can deliver 1080p30 if the source device implements MJPEG or H264 compression. Many webcams support MJPEG, a lesser number, but some very common models, support H264.

      Yeah, the 20 minute limit is troubling. I wonder of Magic Lantern gets around that? I haven’t had the nerve to load it to my 70D just yet.

      • Not it does not. I have ML running on my Canon 60D. No option to remove the 20min standby.

        • mjgraves

          One day I’ll have to try Magic Lantern myself. I’ve only had the 70D a few months.