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…
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.
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.
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.