A problem and a potential solution
This post is the product of several months of experimenting, learning, conversing, and purchasing. It came from a desire to move away from traditional screen sharing, which is often characterized by your slides/visuals taking over a huge portion of your students’ screens (which can be offset somewhat with side-by-side mode).
One way of getting around this is to use what are called "virtual cameras" – in essence, using software or hardware to create a more sophisticated overlay of video/images/feeds, which then get treated by Zoom as a regular webcam. Using software tools like OBS or mmhmm, or hardware tools like the ATEM Mini, you can get some really fun and engaging visuals. Here are a few examples, starting with an excellent introduction by the always insightful and creative Luke Stein:
Once you have a virtual camera all set up, all you have to do is select it from Zoom’s list of cameras to start using it:
Theoretically, the use of virtual cameras should let you create rich, overlaid environments where students can see you and additional content through a single webcam, without having to futz with Zoom’s screen sharing interface (which can be clunky and slow in my experience).
It was with this promise that I embarked on dozens of hours of experimentation with all the software and hardware that I could find.
The problem is, at least with Zoom, this ends up not working very well.
The bad news
The reason for this is that Zoom is constantly making tradeoffs between quality (resolution) and smoothness (framerate) to optimize video, and in doing so is making a lot of assumptions about the nature of your video. In short, it assumes that you want your webcam to be smooth at the expense of quality (it’s weird to have choppy video of you talking) and your screen sharing to prioritize quality at the expense of smoothness (you’re often showing a static image with text on it, and that text must be readable).
Perhaps you can see the problem already – if you’re sharing your slides with you overlaid on top of them, you want your slides to be high quality and your video camera to be smooth. But since you’re just piping in a single virtual camera into Zoom, it’s treating your feed like a webcam – smooth and low quality, making it difficult to read text.
The worse news
This problem has gotten worse since COVID hit, since the huge pressure on Zoom’s infrastructure has led them to essentially disable the sharing of a webcam in HD regardless of your settings (accessed September 7, 2020):
Note: As our world comes together to slow the spread of COVID-19 and stays connected through Zoom globally, we are working to quickly scale our bandwidth during this unprecedented demand.
For the time being, standard video, not HD video, will be activated when 3 or more participants join a group meeting. HD video (720p) will be activated for 2 participants or when a Zoom Room or Conference Room Connector joins a group meeting. HD video (1080p) will only be activated for selective use cases such as large format broadcast events.
That means that your webcam will pretty much always be transmitted at 360p in any classroom setting.
The even worse news
The part that concerns me the most is that it’s difficult to test this on your own, since (a) On your computer, Zoom shows your local uncompressed video feed so it looks fine to you; and (b) The nature of its compression changes as more people join. What this means is you might end up getting comfortable a really cool virtual camera setup, starting a large Zoom class, and finding out that none of your students can make out what you’ve typed or written. That’s, like, teaching-stress-dream-level bad news.
A (kind of) workaround
One way to get around this issue is to use an option in Zoom’s Advanced Screen Sharing window called "Content from 2nd Camera":
Once you click this and then switch to the appropriate virtual camera, Zoom will start to transmit that camera in high resolution, prioritizing it like it would prioritize a regular screen share.
The problem is – you guessed it – doing so drastically reduces the frame rate that Zoom sends from that camera. You can try to offset this by clicking "Optimize Screen Share for Video Clip," but that ends up transmitting a quality that’s quite similar to what you’d get from just using the webcam itself. Here, you can see it switching between high resolution (1080p) low frame rate (vacillating between 20 and 2 fps) and low resolution (360p) high frame rate (30 fps):
A cry for help
My sincere hope is that this entire post will become out of date as soon as possible – Zoom will return to enabling full HD webcam output and we can go back to trying out lots of cool software and hardware solutions to bring engaging content to our students.
Until then, I hope this post is a warning to teachers jumping on the virtual camera train without adequately testing out its implications for their students.
Finally, if you have figured out some way around these constraints, please let me know in the comments! The saving grace of these frustrations has been encountering an innovative and passionate community focused on teaching effectively online. I’m hopeful that there’s something I haven’t thought of that will be shared – I’ll update this post accordingly if so!
11 thoughts on “The Promise and Peril of Virtual Cameras on Zoom”
Super helpful post. I have an ATEM mini and have been battling issues in Zoom. On top of the poor resolution, certain slides cause the virtual camera’s video to freeze in Zoom. I haven’t been able to figure out what about the slides causes the problem, but it happens on exactly the same slide every time I test it, and video resumes as soon as I advance past that slide.
I’ve been considering switching to YouTube Live, since I just need to stream my video and have the student ask & answer questions via chat. But I’m worried about the additional latency with YouTube, and in particular that I’ll have to spend a lot of extra time waiting for students to answer questions.
Interesting – I haven’t encountered a slide that freezes it up! But more generally I’m giving thought to switching to YouTube, Twitch, or some other platform that doesn’t downscale the video quality without telling me. The thing is, I’d also like to have students on Zoom to interact with me and each other, and not sure if it’s asking too much for them to have both the livestream and Zoom and their notes running at the same time.
I broke down and tried YouTube today, live streaming an econometrics class with an ATEM mini. There were a few minor annoyances, but the video quality was superb and the Live Chat worked fine, so I’ll probably stick with it for now – at least until Zoom re-enables HD video.
I’d be nervous about trying to use both (Zoom and YouTube Live) in parallel. In particular, it seems like it would be hard to interject and have back and forth conversation with the mismatch in latency. But I’ve never tried it – so maybe I’m overthinking it and it would actually be awesome.
I experimented a bit with YouTube Live and the quality difference really is huge, though the lag is quite large as well! So yes, I’m not sure if I’d want to run both simultaneously. Let me know what you end up trying.
I appreciate the interesting post, Teddy. Did you try the new Zoom feature “Slides as Virtual Background,” and does it have similar issues?
As for using YouTube streams for teaching: Here are a couple of informative videos by Michael Wesch where he explains how he is using OBS, PPT, and YouTube live streaming in his class. As you said, the tradeoff is high latency and good video quality (YouTube) vs. low latency and high compression (Zoom).
Fall Teaching Plans: OBS Livestreaming vs. Zoom for Dynamic (A)Synchronous Teaching
Awesome Online Lectures with Free & Familiar Tools
Hi Hanspeter, thanks for your note!
I have tried Zoom’s “Slides as Virtual Background” which tends *not* to have this issue since Zoom prioritizes its resolution knowing that it’s a screenshare. The downside, though, is that the feature is quite basic – it doesn’t preserve any transitions or animations in your slides, and any writing on the slides that you do doesn’t carry over either. It essentially turns your slides into a series of images that it flips through. So, I’d only recommend this approach if you have pretty basic, high-level slides that you want people to keep in mind.
And thank you for the link! I’m interested in pursuing the YouTube route. Have you done so yourself? Do you keep a Zoom meeting running as well so that students can interact?
I am giving the “slides as virtual background” a try in tomorrow’s class. Will let you know how it went. I have not tried the YouTube live streaming, but I am intrigued. David Malan is live streaming CS50 on YouTube.
I did use the ‘slides as virtual background’ today, and it worked fine. I do believe that students need to use the latest version of Zoom (I run 5.2.1). I asked if everyone can see them and got no complaints. So they either had upgraded Zoom, or it did work for them anyway. The class is a mix of college students and students from the professional schools and DCE.
One persistent annoyance: once you go into breakout rooms Zoom stops screen sharing and you have to start it up again, including re-arranging all of the windows. So in that way it is no different than sharing regular slides. But I do think having me superimposed on top of the slides was more engaging than the usual small video of me (which, BTW, they could still see as well).
It looks like mmhmm has elegantly solved this issue! Instead of using the virtual camera you can share their “output window” through the regular screen sharing that zoom uses. It seems to work great! https://help.mmhmm.app/hc/en-us/articles/360053828653#h_01EH8AN3FE1SRV8MT42ZMDRJYP
Hi Tom! I tried using this feature of mmhmm and found that the the video being transmitted was quite choppy, i.e. prioritizing resolution over frame rate as is the case with traditional screen sharing. Have you not seen this?
I was quite satisfied with the end result (and my students haven’t complained yet). But our individual standards might very well differ!! Did you have the “Optimize Share for Full-screen Video Clip” enabled when screensharing the mmhmm window in zoom? If not, it might be worth another try. (I am not sure this says much about video quality and framerate, but just for reference, a 1h lecture recording ends up around 600-700MB at 1280×720. The quality looks pretty good to me. Definitely not perfect but good enough. Additionally, I get a slight, but definitely noticeable, delay between audio and video… As a perfectionist this really bugs me, but as a teacher and realist I would say it’s definitely good enough for the job at hand!!)