justin․searls․co

Turning your audio podcast into a video-first production

I was chatting with Adam Stacoviak over at Changelog a couple weeks back, and he mentioned that this year they've taken their podcast "video-first" via their YouTube channel.

I hadn't heard the phrase "video-first" before, but I could imagine he meant, "you record the show for video—which is more complex than recording audio alone—and then the audio is a downstream artifact from that video production." Of course, key to my personal brand is failing to demonstrate curiosity in the moment by simply asking Adam what he does, and instead going on an individual two-week-long spirit quest to invent all the wheels myself based on the possibly incorrect assumption of what he meant in the first place.

Anyway, as of v31 of Breaking Change, my podcast is now, apparently, a video-first production. I figured I'd share my notes on the initial changes to the workflow, along with links to the products I'm using.

Here's the video:

And here's the extremely simple and easy 10 step process that got me there (with affiliate links throughout):

  1. Record audio and video in OBS
    • Video is recorded in 4k@60fps in 8-bit HEVC as an MKV file (because MKV files, unlike MOV, can be interrupted by a crash without losing the entire recording)
    • I use a Sony a7 mark IV over HDMI with Elgato Camlink 4K mounted via the Elgato Master Mount system and flanked on either side by Elgato Key Lights Air. I also have an Elgato Prompter in front of the lens that displays two windows, side-by-side: OBS on the left and my Things project with my show topics on the right
    • I record audio tracks from an SSL 2+ USB interface
      • Track 1 is reserved for the first XLR input, which has a bog-standard SM7b microphone plugged into it
      • Track 2 is L&R of the loopback interface for music and stingers (here's my guide on setting up SSL2+ for loopback that allowed me to avoid software like Audio Hijack)
    • Music and stingers are played manually from shortcuts on my Stream Deck XL
    • While recording, if I need a break, I only hit PAUSE/UNPAUSE instead of STOP/START to ensure only one file is created
    • When finished, leave it recording and then LEAVE THE ROOM for a minute to create some dead air I can later use to sample the room noise with iZotope's RX Spectral Denoise plugin
  1. Convert the output's container from MKV to MP4 after you stop recording, via File -> Remux Recordings
    1. Select recording (e.g. ~/Movies/202X-XX-XX….mkv)
    2. It will auto-populate a matching .mp4 destination file
    3. Click "Remux" and it should only take a few seconds
  2. Set up Final Cut Pro for editing
    1. Create a new Library (File -> New -> Library…), because editing in ProRes (even the "small" LT codec) will chew up hundreds of gigabytes in background rendering
    2. I place these in a media directory outside iCloud Drive with a new directory for each episode (e.g. ~/media/breaking-change/v31/v31.fcpbundle)
    3. In the timeline, click "New Project" with the same name as the episode and these settings:
      • Video: 4K
      • Resolution: 3840×2160
      • Rate: 60p
      • Rendering: Apple ProRes 422 LT
      • Audio: Stereo
      • Sample Rate: 48kHZ
  3. Cut the video in Final Cut Pro (I don’t allow myself to make cuts in Logic Pro later, since the duration needs to match both projects exactly)
    1. Drag the mp4 I remuxed in OBS onto the timeline
    2. Because the video contains two tracks, the second is disabled by default. Open the Audio inspector and check the box next to "Dialogue-2" so both audio tracks are audible
    3. Select the clip and hit Ctrl-S to expand Audio so it's more visible
    4. Make editing easier by looking in the right-top corner of the timeline for a mystery-meat button with title "Change the appearance of the clips". Click that, pick the clip design with the tallest waveform illustration and make the clips themselves much taller by dragging the second slider all the way to the right
    5. For each cut, position the playhead over the exact frame by bumping one frame at a time with the left and right arrow keys, then Command-Shift-B to split the clip
    6. Discard any clips you want to remove by pressing Delete, then allow magnetic timeline automatically fill any gaps
    7. (Hint: because I end each segment by hitting the stinger for the next, I can quickly scan to the next segment by temporarily unchecking "Dialogue-1" from the Audio inspector and looking at the next spike in the waveform when music was playing)
  4. Once I've made my cuts, export the audio to Logic Pro in two steps
    1. Select everything with Command-A
    2. Uncheck "Dialogue-2" in the Audio inspector and then export with Command-E or File -> Share -> Export
    3. On the Settings tab, select
      1. Format: Audio Only
      2. Audio Format: AIFF
      3. Action: Save Only
    4. Save the resulting file in the podcast editing folder (e.g. ~/Documents/podcast/episodes/v31/dialog.aiff)
    5. Repeat the process by checking "Dialogue-2" and leaving "Dialogue-1" unchecked, then saving that one as "music.aiff"
  5. Edit the audio in Logic Pro
    1. Open Logic Pro and create a new project from my latest podcast template (currently v30-podcast-template.logicx) to create a new project, saving in the episode folder with the current episode number (e.g. v31.logicx)
    2. Drag dialog to the mic track and music to my music track (note: to make this easier, I changed my project settings to 48khz to match the video formats)
    3. Loop some quiet audio at the end and on the mic track, open the RX Spectral Denoise plugin and click "Learn" to train it on my room noise
    4. Cut the dead air at the end that was used for capturing room sound
    5. Check that the spoken audio and music audio levels sound good together, adjusting the music track's gain up and down as needed
    6. When satisfied, select all (Command-A) and then bounce (Command-B), checking both PCM and MP3 outputs
    7. Select MP3 and click "ID3 Settings…" to customize the track's title and URL and so forth
    8. Click "OK" to export
  6. Finish the Final Cut Pro project
    1. Drag the mastered PCM file (e.g. v31.wav) into the final cut timeline as a new clip
    2. In the Audio inspector, uncheck BOTH audio tracks from all instances of the original video clip so that only the mastered audio is audible
    3. Cut the video to match the end of the mastered audio (which should be shorter, after cutting the silent room tone)
    4. Export the file with File -> Share -> Export (Command-E), with settings:
      • Format: Apple Devices
      • Video Codec: HEVC 8-bit
      • Resolution: 3840x2160
    5. Hit "Next" to save. Save to the media folder that holds my video so we don't slam iCloud Drive with a huge upload (e.g. ~/media/breaking-change/v31/v31.m4v)
    6. (Hint: If the resulting file is over 50GB, this won't upload to Descript, so you'll need to split it into two parts)
  7. Open Descript and create a new project for the episode
    1. Drag the M4V file onto the timeline in Descript and watch my upstream be saturated for the next few hours because I don't have symmetrical fiber available where I live
    2. Apply a layout to the video that crops the video and pulls it to the left a bit (I film at a wider angle so that I can create separate excerpt compositions containing floating stock videos to my left and without obscuring my face)
    3. Zip ahead to the closing music and create a new scene right as the music starts, then apply an end bumper layout I use to display some text and logos around the YouTube end cards
    4. In the script, let Descript delete certain filler words from the transcript, make sure the most important proper nouns are spelled right with find-and-replace
    5. Cook up some YouTube chapters for the bits people are most likely to search for by pressing # in the script editor and typing a chapter title
  8. Write my show notes and publish the audio production
    1. Upload the MP3 file to S3 via the terminal (e.g. aws s3 cp ~/Documents/podcast/episodes/v31/v31.mp3 s3://breaking-change-podcast-files/breaking-change/)
    2. Run this shortcut to analyze the podcast on the MP3 file to produce the YAML frontmatter my template needs, which contains the duration, byte length, and a random GUID for the episode
    3. Draft a new "Casts" post by converting my Things list to show notes as a bulleted list of Markdown links
    4. git commit and let'er rip
  9. (The next morning, after upload has finished) Publish the video production
    1. In Descript, click "Publish", select "Max" resolution under "Web link" mode, then switch to "YouTube" and fill out:
      • Title: the episode title prefixed with the episode number (e.g. "v31 - Full Searls Driving")
      • Description: the chapters will already be set in the description, so there likely isn't room for full shownotes. Instead, just link to the episode's show notes permalink
      • Tags: write a comma-separated list of random words and hope this helps with discovery
      • Access: Private
      • Thumbnail: in the top-left corner there is an itty bitty icon you can click and upload a custom thumbnail, so click it and do that
    2. Click "Sign in to YouTube" (there's a known issue where Descript forgets its authorized after each video), and re-authorize Descript; then click "Publish"
    3. Sometimes it only takes a few minutes for the fully-processed(!) video to appear in YouTube Studio, but as soon as it does, review the file and add the end card package by importing from a previous episode
    4. Toggle the video from "Private" to "Public"
    5. Go back and edit the show notes with a link back to the video version (I'd use an embed, but most players wouldn't be able to render it)
  10. [Optional] Pour myself a stiff drink

Is that a lot? Seems like a lot. Even though this is a lot of discrete actions, it only took me about 90 minutes of actual work to edit and publish everything at the computer last night (including writing most of the above notes). For the long-running parts, I had plenty of time to prep and eat dinner in between steps.

Hopefully someone finds this helpful! And if you actually know what you're doing with audio and video production, hit me up and let me know what I'm doing wrong! 🎬


Got a taste for hot, fresh takes?

Then you're in luck, because you can subscribe to this site via RSS or Mastodon! And if that ain't enough, then sign up for my newsletter and I'll send you a usually-pretty-good essay once a month. I also have a solo podcast, because of course I do.