There’s some old saw about “timing being everything” right? What about lucky timing playing with a screen timer? Is that one taken?

I got some luck this week with a setup I have been using for the Zoom work for the OE Global 2020 online conference. I experimented with it… the night before

You might have come across someone in your networks who was fired up about doing broadcast TV style stuff in Zoom with something called “OBS”– I think I stumbled on from a post by Ryan Straight. But then no one really does the stuff in an approachable / practical with a bit of fun way than Mike Wesch. His video speaks for itself.

So what the bleep is this? Well, OBS Studio or Open Broadcast Software. What it offers is quite incredible and is a credit to what open source software can be. It lets you create composite scenes for video, switching between, and actually do the live streaming. It’s a digital video studio, and offers everything I used like 10 years ago running live streams from Second Life with Wirecast ($500+ software).

Jim Groom is doing all kinds of gymnastics with OBS for the video streaming he and Tim Owens are doing, with switches for different camera setups, and other hijinks, all connected to a streaming server.

But the kind of thing that I (and Mike and Ryan and also I see Ken Bauer doing a lot) is using this same facility to combine a bunch of different elements into the OBS window, but the nifty trick is, this can be set up as a camera source you can then use in Zoom (or Google Meet or anything else that looks for a video camera source).

You do have to add an extra install of software that enables the virtual camera feature.

Why would you do this? Well, anyone using Zoom can attest to the fumbling around needed to do screen sharing. And to compound thing, when you screen share, you end up in some kind of disconnected space because you do not see the full zoom interface.

What I was thinking about a few days before was another issue- as a session facilitator, how can you readily let a presenter know (and the audience) how much time was left? When they are off screen sharing, now only do they not usually have the chat open, they are focussed on presenting.

I started to think about timers. How to put one onto the zoom environment. Because its commercial software, it’s not like you can look for plugins.

My first move was instigated by getting my set up (a 2013 Macbook Pro 13″ screen, so not much screen) expanded by hooking up an old (first generation) iPad as a second screen. I remember duet display (it was still installed)- its free and works beautifully, either as a mirror or a second screen.

Increasing my screen space with an old iPad and duet display software

I thought I might use some kind of iPad timer app I could make my camera in zoom (most won’t even run on the old thing). Then I looked at a few web-based timers, but they were small and cumbersome.

It was then my memory of OBS came back. I had installed it back in March, and played a bit with it, but never really did anything. I thought there might be some way to insert some kind of clock app. But then, as I do, I tried a Google search, and ended up with this video:

It’s kind of loud and you have to wade through all that LAS Curry is promoting (his show), but the answers are there (a side rant, I loathe trying to pull how to methods out of videos, I just want a quick written summary).

But it was here I learned there were scripts in OBS (under the Tools menu). Do you remember my gripe about zoom? You can’t add functionality to Zoom but you can to OBS. Oh there are a lot of scripts. I just followed the link from LAS Curry’s video and downloaded a script called OBScountdownadaptivetime.lua. What is a .lua file? Shrug. Hawaiian?

You will need it. You can parse the steps from the video, but I will try to do a full walkthrough of what I set up for OEG.

But the whole aim here was to do everything through this setup I would have fumbled with screen sharing in zoom, and just run it through as my video source. The scene I created has:

  • My video, but cropped and to the side
  • An overlay of a Powerpoint slide show (for the titles of sessions and other info to share)
  • A conference logo! Branding!
  • And a countdown timer that would be visible anywhere my video was present. Since I was a host or co-host in these sessions, my video stayed atop the row people saw while observing.

The result was something like this (this is from a fantastic pane session with students, but no need to toss their photos out there). Also, in this scene I discarded the Powerpoint screen). But this is what is seen for the timer:

Zoom has no timer display feature, but Alan does! You can too with the steps detailed below.

The first thing is creating a new “Scene” in OBS. This is a collection of all the elements you want to have on screen. You create different scenes for different shots, or maybe various setups you might need (like a scene for your Calculus class you teach vs another one for your Tuesday night book club).

I made one for Zoom Timer OEG, and for Sources, I add the basics: video and audio.

A basic OBS scene with video and audio. Nothing special yet.

Every item we place on the screen can be sized (like an image by grabbing the corners and pulling in and out), but you can also crop it. So I plan to have my video on the side. To crop, press option or alt and click a border. Drag it in to crop.

Cropping the video area, hold option/alt and drag a side in or out.

Now, just because we can, let’s add an image, in this case the logo for the conference. A background transparent PNG works best, because square images are… square.

For this we add an image source, select the file, and bing! It’s in our scene. We can move it, size it, crop it. Let’s slide it in from the left. It does mean having to rotate the laptop (or my chair) a bit to keep me in frame.

We have logo! Added as an image source.

Why is the logo sitting that high? In zoom the bottom one third of my screen is blocked with my username, so I found I had to slide it up.

Now we put in the upper left a Powerpoint that has a collection of title slides for the various sessions I will facilitate. By having this in OBS, I don’t have to fiddle faddle with screen sharing in Zoom (which I could not even do as that’s for presenters). I’m after that TV news style effect where behind the anchor is a display of about one quarter of the screen of images or maps or news clips. In OBS we can put anything there, even PowerPoint.

One of the annoying things about trying to share a PowerPoint (or for that matter too, Google Slides) is that to share it in slideshow mode, it goes full screen. But with some digging in PowerPoint (which I rarely use), I found the magic setting that displays a slideshow in a window, rather than full screen.

It’s under the Slide Show tab (in my ancient 2011 version of Office), then under Set Up Show change Show type to Browse by a individual (window).

On my setup, I slide the window with the slideshow off to my second (iPAd) screen. I was not doing a lot of slide flipping, just once per session, but this worked.

In OBS I used the Window Capture source, and then selected the PowerPoint Slide show window from the long list of options. Boom! I have my slides on screen. Again, I scale and crop to put in the top left (with some overlap on my video, just for fun).

PowerPoint in a window is now in my scene.

As it turned out, this was not very useful, since I was not presenting, so I was not fully on screen much of the time. The words on the slide were not readable in my small Zoom window. If I was presenting, it would be a different story.

Now we get to the part you have been waiting for- the timer. I add a True-Type source to the scene, aka text. In the editor I put placeholder text, choose Impact font (or any that you want), and play with some color settings. You just need a field there. I name mine “Countdown 20” as this is my 20 minute counter.

The text holder for the timer is in the scene.

Next, we connect a script to this text source. In OBS, select Scripts under the Tools menu. Now I noticed OBS comes with a built in timer script. The main difference in the one I downloaded is that it has an extra field that can be displayed when the timer counts down to 0:00.

Use the + button at the bottom to add the script downloaded from LAS Curry’s video, it shows up in the list as called OBScountdownadaptivetime.lua. Then I enter settings in for this script.

For my 20 minute timer, I need some math to get the seconds (60×20 = 1200). This goes in Duration (seconds). I got tripped up for Text Source– it looks like a menu but it’s not. You have to type in the name of the Text field in our scene, so we enter Countdown 20. The Start Text is what appears before the timer (do not forget a space) and Final Text is what is displayed after the timer counts down to 0:00.

You might wonder why I have a second script here. In the sessions I was supporting I had need to also a one hour timer (for panel sessions) and a 10 minute one for lightning talks. I could have gone in and changed the settings, but it was easier to make copies of the script, add these, and then I can have the all set up.

Now I have a timer.. but wait, it’s already going!

The timer is working, but how do I start/stop it?

This too almost threw me. How do I start and stop the timer? I found out! Use the ‘eye” button to deactivate the timer, it disappears. This is what I have before a session.

Timer is off now

To trigger the timer, I just click the eyeball again, and the timer starts counting down from 20:00. This means in Zoom when a speaker starts, I just need to quickly jump to OBS and click the eyeball for the timer.

This really worked well during this week’s conference. The timer text is large enough to be seen when I was just a little window above the presenter. People seemed to really appreciate having the clock to keep sessions on track.

Oh, do not forget to turn on the OBS virtual camera- this makes it available to other applications.

Turn the camera on!

And this is really just scraping the surface of what OBS can do. But I am hooked, it really opens up a lot of possibility for what you can mix and mash together, and whatever you put on there just becomes another camera source for your applications.

There’s nothing like night before an event fiddling… when it works out.

But Wait, There’s More!

See Clint Lalonde’s post on his OBS setup for the BCcampus Studio 20 event. He has useful practical and how to tips, but also, a keen observation:

One of the other reasons I wanted to use OBS was that, as a virtual host, one of your roles is to help keep participants oriented and progressing through the event, and you often provide the instructions needed for people to help orient themselves to what is happening. I hoped that by providing a different visual look it would provide a small visual signal to participants that my role in the event was different than the other participants. That when this distinct looking video feed came on the screen it was to provide an important piece of information about the event; announcing breaks, introducing sessions, that kind of stuff. So, I wanted to look a bit different in order to gather participants attention to keep them oriented.

Featured Image:

Kitchen Timer 2
Kitchen Timer 2 flickr photo by Lynda Giddens shared under a Creative Commons (BY-NC) license

If this kind of stuff has value, please support me by tossing a one time PayPal kibble or monthly on Patreon
Become a patron at Patreon!
Profile Picture for cogdog
An early 90s builder of the web and blogging Alan Levine barks at on web storytelling (#ds106 #4life), photography, bending WordPress, and serendipity in the infinite internet river. He thinks it's weird to write about himself in the third person.


  1. The virtual camera feature is built in to OBS version 26 for Windows & Linux and is coming to the macOS version, which will alleviate the need for the plug-in.

    I’ve been using it as my camera since April, and my latest addition is throwing up a speech bubble fed from a text file that I update, along with some scenes with various graphics such as Yes, No, I agree. Hmm… I should write something up and/or create a video. ?

  2. Hi Alan,
    Thanks for this. Earlier in the year when schools were closed here I was racking what is left of my memory for a piece of freeware I used to use (perhaps pre osx) that did a little of this, system extension maybe.. I think I used it with Marritech…
    OSB looks marvellous I’ll certainly try it if we go back into school closures here.

    And your side rant nails it!

  3. Windows users don’t even have to install virtual camera as a plugin anymore, it’s baked right into the software. I assume they’ll do the same for Mac soonish, such a great feature!

  4. Dude! This is awesome. Thanks for writing this up and putting the work in (I realize it was for work), but it still is invaluable to see it step, by step (Jon Udell style), with the rants and asides for context. I now feel motivated, inspired and want to get OBS and the timer script for my own use just so I can keep my work related Zoom meetings on track. (and to impress my co-workers;^)

  5. Awesome as always Alan. Great idea using the clock on your screen for the presenters to keep track of time in their session. Mine was just a countdown clock between sessions which, honestly Zoom, WHY DON’T YOU HAVE THIS?

  6. Alan,

    Mahalo for writing up what you’ve done with OBS and having a timer available to help presenters in Zoom.

    I am asking my students at Kansai University to finish a graduate online class by doing a 10-minute presentation of their final assignment and as I am “stuck in paradise,” this solution will be very helpful and useful.

    I won’t comment on the word “lua” since the Hawaiian version can be found online. Nevertheless, it is a word that I grew up with.

    Gotta go. ?Thanks again. ??

    – Bert

  7. Impressive what you can do with OBS, thanks for sharing Alan!

    In case this is of interest, there is now an App integrated directly with Zoom that can display a countdown timer, clock, or agenda schedule to all participants. It also has audio alerts and some other customization. We’ve been using it the last few months and it has made meetings way more efficient!

    It’s made by BlueSky Apps:
    And they have a Zoom App:

    1. Thanks Nick, it’s good to see there are plugin / extension like capabilities in Zoom. Hope to give this a try soon.

      We have tried it, seems useful for occasional use (limit of 2 per month) but it does not work for our meetings that have registration set up.

Leave a Reply

Your email address will not be published. Required fields are marked *