Display webcam content overlaid on your presentation on a Mac

For my Raspberry Pi Dramble presentation, Everything I know about Kubernetes I learned from a cluster of Raspberry Pis, I wanted to be able to show all of the audience—who could be dozens or hundreds of feet away—a tiny Raspberry Pi cluster of computers, which is in total about the size of a cantaloupe.

Logitech webcam and Raspberry Pi Dramble Cluster for presentation

I wanted to find a way to display an external USB webcam (in my case this Logitech 1080p webcam) live picture, overlaid on my presentation. I found that there are actually two ways to do it on the Mac:

  • Using QuickTime Player with 'Float on top'
  • Using VLC with 'Float on Top'

Preparing the webcam

If you use a Logitech camera like I do, you can ensure it's focus is tack-sharp and color balance is the way you want it to be:

  1. Download the 'Camera Settings' app, and open it up after you plug in your webcam, but before you get started with your presentation.
  2. Go to the 'Advanced Settings'
  3. Turn off autofocus, then manually adjust the focus slider until it's tack sharp.
  4. Also consider turning off auto white-balance and setting that manually too so the color balance doesn't change during the presentation.

Using QuickTime

  1. Open QuickTime.
  2. Choose File menu > New Movie Recording
  3. Choose 'High' or 'Maximum' resolution from the little dropdown menu next to the record button.
  4. When you need it to 'float' on top of all other windows, choose View menu > Float on top.

Now it should look something like this:

QuickTime Player float on top of other windows

There are two downsides to using QuickTime, though:

  1. You can't get the player controls to stay hidden on hover like you can with VLC, so you have to be careful moving your mouse over the video window.
  2. For certain apps, like Keynote, it actually doesn't 'float on top', which may defeat the point depending on what/how you're presenting!

Luckily, VLC overcomes both of these issues—though I sometimes had stability issues with the webcam connection in VLC. The image froze sometimes and I would have to re-plug the webcam to get it back in VLC (while QuickTime never exhibited the same problem, even while VLC was doing a freeze frame!).

Using VLC

If you want to float a VLC-driven live view of the webcam, do the following:

  1. Download and install VLC.
  2. Open VLC, and go to VLC menu > Preferences...
  3. Go to the Video section, and uncheck the 'Window decorations' setting.
  4. Choose File menu > Open Capture Device...
  5. In the Capture tab, check the 'Video' checkbox, then select your USB webcam. If it asks for a resolution, choose the maximum you need (e.g. 1280 x 720 or 1920 x 1080).
  6. Click Open and a window should pop up with the live feed from your webcam. Yay!
  7. When you need it to 'float' on top of all other windows, choose Video menu > Float on Top.

Now it should look something like this:

VLC player float on top of other windows

How did it work?

You tell me: skip to 13:10 in the video below!

Conclusion

Any other cool hacks you can think of to show off something via the external webcam? I know one thing I'd like to figure out is how I can use one of my mirrorless or DSLR cameras with it's fancy lenses as my external webcam, for some even better image quality!

Comments

ideally I am wanting to be able to view the feed on top of a keynote presentation which by default I am wanting to play in full screen mode, but whenever this happens the VLC feed retreats to the back ground, any advice?

Awesome! Thanks for putting this up! Didn't realize you could get QuickTime to just show the webcam like that, bam, lots of options!

I was planning to just use Photo Booth, which would also work, but be a lot uglier than QT.

Here's my layout for having two browser windows at once, a bit goofy but functional!

https://imgur.com/a/UWe6tgG

RE: OBS: Yes this is the obvious choice, but in my experience, it single-handedly gets my laptop warmed up and fans spinning, this affects the audio quality, so for me, I'd much rather find a solution that runs basically for free like QT with all its optimizations on Apple silicon etc.