Screencasting from Qubes OS

For quick tutorials and demos, I make screencasts to share with clients and colleagues, typically using OBS Studio. What is a sane approach to achieving this in Qubes OS?

Required:

  • Screencast of mouse pointer and multiple Windows
  • Real-time voice recording

Nice to have:

  • Real-time webcam recording
  • As viewed from dom0 (to demo Qubes OS itself, but this is low priority for me)

Options that I can make out are:

  • Running an AppVM in full-screen mode, giving it access to the mic/webcam, installing OBS Studio and making screencasts in that context

  • As above without full-screen mode, not clear to me what this would look like

  • Installing OBS Studio (or some other tool) in dom0, and recording the whole Qubes OS desktop, but even if possible I assume this is not a good idea

Are any of these options obviously worth/not worth pursuing? Any options I’ve missed?

This seems to work well with OBS Studio, though it doesn’t give you the dom0 view:

Create a nested X server via Xephyr. The Arch Linux wiki has a good description of how to do this: https://wiki.archlinux.org/index.php/Xephyr . Then share the nested X server. You can have an arbitrary number of windows there and even start any window manager in this X server instance.

Capture card setup

There is also this setup I found interesting:

setup

Qubes —HDMI—> Capture Card (HDMI to USB) —USB–> Qubes --> AppVM w/ OBS -> jitsi

Explanation from within Qubes (youtube link!) and from the outside perspective of the user (youtube link!).

2 Likes