Jury-Rigging a Webcam Using OBS and a Canon DSLR

Update (June 14, 2020): Canon released a new tool – EOS Webcam Utility – about a month after this was initally posted which significantly simplifies things for supported cameras. Originally I thought my 60D wasn't supported as it wasn't on the list; however, I managed to get it working using the same installation process as the 80D. Be sure to restart and to close any instances of the main EOS Utility as it will conflict otherwise.

I’ve been working from home recently, in light of current events. To collaborate with each other, my team has been making heavy use of Zoom for things that are better done synchronously. I didn’t have an external webcam handy so I wondered if it was possible to hack together something using my existing photography equipment…

Remote Live View Using the Canon EOS Utility

The first thing I needed was a way to get a video feed from my camera (a Canon EOS 60D) to my Windows PC. Although a capture card would be used here in a proper setup, I didn’t have one of those either so I looked for a software-based solution.

One open-source project I found — Camera Live — pulls the video used for the camera’s Live View but is unfortunately only available for macOS. It turns out Canon’s EOS Utility also does something similar for remote shooting, with some limitations. This guide goes into detail on EOS Utility and how to get the feed into OBS for the next step.

Additional Comments

  • Live View will automatically shut off after 30 minutes for many (most/all?) Canon DSLRs, likely as a precaution against overheating. It may be possible to change this with Magic Lantern but I haven’t really looked into it.
  • It’s better to have the camera on manual focus to prevent any of the indicators from showing up on the video feed
  • To keep dimensions and boundaries consistent, simply maximize the Live View window whenever it starts up
  • Ideally the camera is hooked up directly to an outlet as the battery will need to be recharged every few hours of video

OBS and OBS-VirtualCam

The next thing I needed was a video source that could be used in applications like Zoom. OBS-VirtualCam is a plugin for OBS Studio that emulates a real webcam, using the stream as input. After installing it, “OBS-Camera” shows up as an option in everything that is compatible with it. It can be configured and started under “Tools” → “VirtualCam”.

Note: this does not appear to work for later versions of Skype. A quick search suggests that only Universal Windows Platform (UWP) app-compatible sources can be used.

Further Experimentation

A side benefit to having OBS be the input source for a virtual webcam is that it is easy to further process the video. For example, instead of just showing the physical camera’s feed, it’s possible to overlay other elements just like a normal livestream. Additional plugins like StreamFX can really make video chats a… lively experience.

Alternatively it is possible to pass the video through another tool like Webcamoid which has a bunch of built-in effects without too much additional effort.

March 29, 2020 (Updated June 14, 2020)