The tool paper that originated my previous post on demo videos got accepted. Hooray! Given the ongoing global pandemic, I was asked to submit a 15-minute video of my presentation, that has then been broadcasted to all participants. This post is a collection of notes I gathered along the way.

Some storyboarding required

I simply used LaTeX + Beamer to create a deck of 11 slides (which are actually 31 if you include all Beamer transitions and stuff). As a rule of thumb, I always try to have at most one slide per minute (excluding transitions). Yes, including the title slide. When I end up having more than that, I inevitably find out that some of them are needlessly technical, or that multiple slides could be merged into a single one that is more concise and effective.

I think that the first 3-4 slides are the most critical for a good talk. If these slides manage to convey a message, then the message will stick even with those people that may get lost at a later stage of the talk. Heck, somebody might even read the paper you’re presenting! On the other hand, losing your audience during these initial slides usually means that your talk is little more than a waste of everyone’s time. (Sorry for the bluntness!)

This is why I wrote down several drafts of my voiceover for the initial 3 slides (out of 11), recorded myself reading them, and took note of the time required for each slide. I did the same for the next three slides, which introduce some technical background. Listening back to myself made it easier to realize that some parts of my voiceover were unclear, wordy, or both. After a few tries I got something acceptable. I did the same for slides 4 to 6, and then I just jotted down the essential talking points for the rest of the presentation. At that point, I was ready for the next step: the actual recording.

First attempt

At first, I recorded the screen and my voiceover with OBS. I used Présentation.app to show my slides full-screen on a secondary monitor (which I captured with OBS), while the primary monitor showed a timer, thumbnails of the next slide, and other goodies.

Présentation is really a great piece of open-source software, and everybody that works with PDF slides on a Mac should at least try it out. I know that OBS is also really good, although in my use case (capturing fairly static slides on a screen) I got a quite blurry video. Probably I should have toyed with the settigns a little bit more.

Doin’ it right

Since I wanted to move away from iMovies, I downloaded Shotcut, an open-source non-linear video editor. I added the OBS video file and started toying around. To my horror, I started to notice a lot of wrong things with my voiceover! I am mostly talking about “ehhs”, “uhms”, and broken English (apparently I forget many -s suffixes when I am in a hurry). At the same time, I realized that some parts of the voiceover could still be rephrased more clearly. Probably the original voiceover would have been (more or less) alright as a live talk, but this was a recorded presentation. Sigh. So I started re-recording parts of the voiceover using Ocenaudio, a really good free (although sadly closed-source) audio editor. I did all the recordings in FLAC, but had to convert them to WAV because Shotcut has some issues with seeking FLAC files.

Meanwhile, I realized that there was a way to ditch the OBS video. If I converted my PDF to a set of PNG pictures, then I could use these as my video track! I would not lose anything: as I already said, my video was just a sequence of static pictures anyway. On the other hand, I would now be able to easily adjust the timing of my slides to match my voiceover without having to edit a video asset. Of course, the PDF-to-PNG conversion was gracefully handled by ImageMagick:

convert -density 300 path/to/slides.pdf slide.png

generates a collection of files named slide-0.png, slide-1.png, and so on.

Conclusion

At that point, I was finally able to export a flawless video! But before uploading it, I did a final sanity check by re-watching it in full. Even though a video service worthy of the name should not mangle your video during upload, it does not hurt to also rewatch the uploaded video a final time before making it public/sharing it with the chair of your conference/whatever. That’s in fact what I did! Since audio/video issues are quite glaring, to save a bit of time you can rewatch at 1.5x speed or so.

TLDR

So you want to record a slide presentation. This is what worked for me:

  • Follow the one-slide-per-minute rule of thumb.

  • Do a storyboard of the initial slides and of technical parts; record, time-track and listen back to yourself.

  • Use a non-linear video editing tool: it will allow you to make experiments without altering your assets.

  • If possible, load the slides as picture assets rather than doing a screen recording. This will save disk space, yield a crisp video, and allow you to tweak the display time of each slide.

  • Capture the audio of your slides as separate, uncompressed files, so you can load them in the editor and adjust them to stay within the time limit without redoing the whole talk every time.

  • Export, then rewatch your video (possibly at a slightly higher speed, like 1.5x) to detect any issues. Rinse and repeat until your video is glitch-free.

  • If you need to upload the video to some online service, also rewatch the uploaded video.

  • Bonus bullet point: read this excellent guide by professors Olivier Danvy and Luca Aceto. It is oriented at live talks, but it contains many tips, do’s and don’ts, and examples that hold true for recorded presentations as well.

Disclaimer

I am not affiliated with any of the projects mentioned in this post. I just really, really like them. If you use any of them, especially the open-source ones, please consider donating or contributing to keep them alive!