Video & Screen Recording - cdig/docs GitHub Wiki

Local Audio

When we're recording a group zoom call, for the folks on Mac computers, here's what you need to do to record your audio locally:

  1. Open Quicktime Player
  2. Go to File > New Audio Recording
  3. In the new window that appears, you'll see a little red dot "record" button. Next to the button is a downward-pointing triangle. Click that.
  4. Make sure the right microphone input is selected. You can do some test recordings if needed to make sure it's correct. You can leave the quality on "High", that's good enough.
  5. To begin recording, click the red dot. It'll turn into a dark grey square "stop" button, and you'll see the time and file size counting up.
  6. When you're done recording, click the stop button. Your recording will turn into an "Untitled" player window.
  7. Go to File > Save...
  8. By default, it'll probably want to save to iCloud. Instead, please save the file to Dropbox/Team/Ivan/Zoom Audio. (If the "Where:" menu isn't letting you browse the file system, click the little downward-pointing arrow)
  9. Please name your file with your first name. So for me, it'd be Ivan.mp4

Settings

Video

  • Frame Rate: Best possible. Must be a multiple of 30. Do not use 24, 25, 29.97, or other frame rates.
  • Resolution: Best possible. Must be no lower than 1920x1080.
  • Encoding: ProRes 422 or H.264 are fine. Consult Ivan before using other encodings.
  • Bitrate / quality: Depends on resolution and frame rate. Aim for (perceptual) lossless. Talk to Ivan if the choice isn't obvious.
  • Container: MOV or MP4 are fine.
  • Color: Rec. 709 is fine.

Audio

  • Encoding: AAC, AIF, WAV, or MP3 are fine. Consult Ivan before using other encodings.
  • Bitrate: 320 (stereo) or 160 (mono)
  • Sampling Rate: 48k greatly preferred, 44.1k acceptable. Never use any other sampling rates (higher is not better).
  • Bit Depth: 24 is best, 32 is good, 16 is fine, nothing else is acceptable.

General

  • Name clips based on the source (eg. Carl's Laptop.mov, DSLR.mp4), and use simple sequential numbering (eg. DSLR 1.mp4, DSLR 2.mp4). Don't use default names (2020-08-14 11-07-55.mov, DCIM 1239.mp4). Put related clips together in folders, named to identify what project these clips belong to.

Guidelines

General

  • Do not change settings during a shoot. Set them once and leave them alone.
  • The more cameras and microphones, the better! Extra sources mean more coverage, making for an easier edit and more ways to "fix it in post" if something goes wrong.
  • Prefer single long recordings, especially for audio (even if that means recording short interruptions / breaks). Avoid start-stop short recordings. When in doubt, leave the cameras and mics rolling.
  • Make sure all recording devices have ample storage, and are plugged in to power rather than running off battery.
  • Most importantly: test everything before shooting!

Audio

  • Leave at least 10db of headroom — you don't want spikes to come anywhere close to clipping.
  • Do not use hardware preprocessing, like dynamics compressors or EQ.
  • Eliminate sources of hum, turn off the furnace/AC, don't put mics near things that make noise.
  • If someone is speaking into a dedicated mic (eg: in the sound booth, or wearing a headset or lav) get the mic as close to their mouth as possible, but out of the main channel of air from their mouth and nose.
  • If multiple people are going to be talking, either find a way to completely avoid crosstalk, or give each person a dedicated mic.

Video Cameras

  • Set all color balancing to the most neutral / default settings available.
  • Set the exposure so that there is extra dynamic range at the top and bottom (use a histogram) — low contrast, without pure black or white. This is called "shooting flat" because it makes the picture look flat and boring. Perfect for color-correcting in post.
  • Turn off auto exposure, autofocus, and other things that will change camera settings during recording.
  • You can rack focus, dolly, zoom, and otherwise do camerawork — but be deliberate about it, and if at all possible, have a separate wide-angle camera that never moves.

Screen Recording

  • As much as possible, use ScreenFlow on a 5K iMac. Check the recording settings to make sure it's capturing in Lossless mode. Export to ProRes 4444 (shorter recordings, like 10 minutes) or ProRes 422 (longer recordings, like an hour).
  • You can also do screen captures on a PC, but the quality is lower. We don't have official recommendations for configuring (eg) OBS, but do adhere to the required settings above and check other settings with Ivan.
  • Try very hard to avoid capturing app/OS GUI (eg: Chrome's top bar, notifications, alert sounds). You can put SVGAs in fullscreen using the Settings button in the top left.

Browser Scripts

Here are some scripts that can be pasted into the browser console to make things look nice in a video.

// Hide the SVGA Settings button
document.querySelector("[x-gui] > :first-child").style.display = "none";

// Hide the LBS header
document.querySelector("#header").style.display = "none";
document.body.style.paddingTop = "0";

// Make a full-size Lesson title. Note that you  might want to tweak the padding and font size based on the length of the title.
document.querySelector("#title").style.padding = "7rem 0";
document.querySelector("#title").style.fontSize = "6em";

// Nicely scroll through a lesson, activating SVGAs as we go. This will take about 10 minutes to scroll through a decently-sized lesson, letting you ramp up in post to over 2000% speed for fast scrolling and down to 100% speed when looking at a single page.
window._scroll = 0;
window._scrollSpeed = 0;
function tick(){
  window._scrollSpeed += 0.003;
  window._scrollSpeed = Math.min(1, window._scrollSpeed);
  window._scroll += window._scrollSpeed;
  window.scrollTo(0, window._scroll)
  requestAnimationFrame(tick);
};
requestAnimationFrame(tick);

// Scroll from one spot to another with nicer ease-out than above
start = window.scrollY
end = 2000
time = 3
LBSTake("Tween")(start, end, time, function(v){window.scrollTo(0,v)})