My setup is considerably less sophisticated than Erik Demaine's, and this shows in the quality of the resulting videos, but I'm deliberately aiming for simplicity and convenience over quality. My main design goal to do everything myself with equipment I can easily carry in my laptop bag: a Macbook Pro, an iPad Pro, a power cable, a Lightning-to-USB cable, and an Apple Pencil. Altogether the in-class setup and capture adds only a few minutes of effort; processing the video files after class takes a bit longer.
I tried lots of other note-taking apps. None of them do exactly what I want, but Notability is the closest approximation.Notability works particularly well with the Apple Pencil. (Unfortunately, I didn't have an Apple Pencil for the first few weeks of the semester, which is why my handwriting looks so awful in the initial videos.)
I don't recommend this set up with any other iPad model. Despite the high-resolution Retina display, the input resolution on most iPads is poor. Even using a crappy stylus, the Pro is noticably better than previous models, and the Pencil only works on the iPad Pro. But I hear good things about Wacom tablets and the Surface Pro.
The physical setup would be much more comfortable with a raised and tilted lectern/laptop stand to rest the iPad on.
I would much rather mirror the iPad display using AirServer, but my universty's wifi network has disabled multicasting. On the other hand, the wired connection means I never have to worry about running out of battery. For similar reasons, always plug in the laptop.
Notability has a screen-recording feature, but it only records when objects in the final version of the slide are created, as if they were created in their final locations, scales, and orientations, along with audio. Objects that are drawn and later erased do not appear int he video; objects that are drawn and them moved are "drawn" in their final positions only. There are also battery and memory capacity issues with recording 75 minutes of video directly on the iPad.
Or a VGA cable. Or wirelessly to the Apple TV. Or whatever. The display infrastructure is actually built into the room, so it works seamlessly.
Yeah, this is an embarrassing hack, and the resulting audio sucks. A better solution would be to use a wireless mike with an output splitter on the receiver, with one output going to the room speakers and the other going to the MacBook for recording. Working on it.
Downsampling the raw videos to 480p via Quicktime Player takes a few minutes on my laptop; to make the resulting video streamable, I just change the .mov extention to .mp4. (Unfortunately, I often forget that step.) Uploading the 480p video to the course web site takes a bit longer, especially over wifi. Fortunately, both downsampling and uploading can be done in the background. On average, each 480p video takes up about 1.2Gb.When I started this experiment, I published videos on two video-streaming servers: Echo360, run by Engineering IT (like most other recorded CS classes), and Illinois Media Space, run by campus Technology Services. Despite some advantages of these servers, the additional effort compared to just posting the raw files really isn't worth the trouble, in my opinion.
The biggest advantage of MediaSpace and Echo360 is that they have dedicated file servers designed to store and serve streaming video; the standard course web server does not. Downloadable videos eat a lot of space; I estimate that my videos this semester will consume about 15% of the disk space that was free in January 2015.
On the other hand, uploading and labeling videos on MediaSpace and Echo360 takes significantly longer than just making them available directly. In particular, Echo360 needs several hours to convert one 70-minute video into its native video format, and the resulting audio sounds (to quote one student) like an over-amplified 1960s long-distance telephone call from a Dalek. MediaSpace is more efficient and friendlier, but it's only accessible with a university NetID, it doesn't allow downloading, and it collects analytics (who watched which videos for how many seconds) that many instructors may find useful but I find intensely creepy.
I keep a local copy of the entire course web site (including the downsampled videos) on my laptop. I edit the raw HTML files using SubEthaEdit, and then synchronize with the course server via sftp using Transmit.