Record a YouTube live stream you're allowed to save as an MP4 on your Mac

By

Save your own YouTube live streams, or ones you have permission to keep, as local MP4 files on your Mac with yt-dlp, FFmpeg and Broadcast Keep.

~~~

You’re streaming on YouTube, or your company is, and you want the stream on your Mac as an MP4 file. Maybe you’ll cut clips from it, keep an archive, or send it to someone who edits video.

First, the rule for everything in this tutorial: record only streams you own or are authorized to save. That means your own channel, a stream your team runs and asked you to archive, or a broadcast whose owner gave you permission. The app doesn’t grant permission to copy someone else’s broadcast.

If it’s your own stream, YouTube has a built-in option. It can archive live streams shorter than 12 hours, and YouTube Studio lets you download your videos as MP4 files, at 720p or 360p depending on the video. YouTube also recommends keeping a local recording as a backup. Broadcast Keep makes that recording on your Mac while the stream runs, from the point you join or from the earliest part YouTube still makes available.

What you need

Broadcast Keep runs on macOS 14 or later, on Apple silicon and Intel Macs. After purchasing it, connect GitHub in Polar, accept the private repository invitation, and download the app from Releases. Unzip it and drag Broadcast Keep to your Applications folder. It’s signed with my Apple Developer ID and notarized by Apple.

It also needs three command-line tools, which you install with Homebrew. If you don’t have Homebrew yet, start with my Homebrew guide.

brew install yt-dlp ffmpeg deno

yt-dlp does the downloading. FFmpeg puts the recorded media together into an MP4, and it comes with ffprobe, which checks the result. Deno is there because yt-dlp needs a JavaScript runtime for full YouTube support, and Deno is the one it recommends.

Check that all three answer:

yt-dlp --version
ffmpeg -version
deno --version

Each command prints a version. There’s no account to create, no backend and no analytics. Your recordings stay in the folder you choose.

Know what the app does for you

yt-dlp can record a live stream on its own from Terminal. It starts at the current point by default, and its experimental --live-from-start option goes back to the start. If you’re happy reading its log lines and checking the output yourself, that’s a valid way to do it.

Broadcast Keep runs the same tools from a native Mac window. You see download progress, captured media time, catch-up status and errors. You can cancel or retry. When you stop, it merges and verifies the file before telling you it’s done.

Record from the current point

Open the stream on YouTube and copy its URL from the address bar. Then open Broadcast Keep and paste it. The app checks that it’s a YouTube URL before it starts.

Choose current-point mode. It records what’s playing now, from the moment you start.

Choose the folder where the MP4 should go, and start the recording. You should see the captured media time going up as the recording runs. Broadcast Keep remembers the mode, the folder and the browser choice, so next time you only paste a new URL.

If you joined late, choose from-beginning mode instead. It asks YouTube for the earlier part it still makes available, then catches up toward the live stream. The window shows the catch-up status while that happens.

Record an authorized YouTube live stream with Broadcast KeepFirst check that you own the stream or have permission to save it. Paste the URL and choose current point or from the beginning. If the stream needs a sign-in, choose the browser you use for YouTube. Pick a folder, record, stop, and Broadcast Keep merges and verifies the MP4 so you can reveal it in Finder.NoYesNoYesYesNoYour stream orpermission to saveit?Do not record itPaste the stream URLJoined late?Current point modeFrom beginning modeNeeds a sign-in?Choose your YouTubebrowserChoose the folderand recordStop the recordingMerge and verify theMP4Reveal it in Finder

Record a stream that needs you signed in

Some streams only play when you’re signed in, like a members-only stream on your own channel or a private company broadcast shared with your account.

For those, choose the browser you already use for YouTube. Broadcast Keep asks yt-dlp to read that browser’s local session, so the recording happens as you. The app doesn’t store cookie values.

Make sure you’re signed in to YouTube in that browser with the account that can watch the stream. If the stream doesn’t play there, it won’t record either.

Stop and find your MP4

When the stream ends, or you have the part you need, stop the recording.

Broadcast Keep finds the recorded media and merges or remuxes it into an MP4 with FFmpeg. Then it checks the file’s duration and output with ffprobe. Only after that does it report success and let you reveal the MP4 in Finder.

If a recording gets interrupted, say your connection drops, the app keeps the usable media and checks it before reporting success. You can retry the recording from the same window.

If something looks wrong

If you get an error about FFmpeg or ffprobe not being found, run brew install yt-dlp ffmpeg deno again and check that ffmpeg -version prints a version. You can hit the same error with yt-dlp in Terminal, and I explain it in How to fix the ffmpeg not found error.

If a stream that recorded fine last week now fails, update the tools. YouTube changes over time, and yt-dlp follows those changes in new releases:

brew upgrade yt-dlp ffmpeg deno

If the recording fails on a stream that needs a sign-in, check the browser you chose. It must be the one where you’re signed in to YouTube with access to that stream.

If a long recording broke while you were away from the Mac, check that the Mac didn’t go to sleep. Retry it, and keep the Mac awake until the stream ends.

Get Broadcast Keep

Record authorized live YouTube streams to local MP4 files, from the current point or the available beginning. Native Mac app and full source included.

See Broadcast Keep → · $20 including tax, with full source code.

More tutorials for my apps →

Want me to talk about your product? You can sponsor this site.