Commercials: They're the worst. Sure, they help pay for your favorite TV shows, but they also eat up time and, in a Mac DVR app, hard drive space. Commercials must die. And you can destroy them.
Since I'm running a Plex DVR, I'll focus on three ways to crush commercials in that app, from the simplest to the most complex. Stay tuned to the end of this article to see how other Mac DVR apps can alleviate your ad aggravation.
Method 1: The 30-second skip
If you have plenty of hard drive space, watch shows soon after you record them, and delete them promptly afterward, just click the 30-second fast-forward button in Plex's viewing controls whenever ads begin. Jump too far ahead? Try the 10-second back button.
This takes a few clicks per commercial break, but it's the fastest, easiest way to ignore ads.
Method 2: The automatic annihilation
Plex can now remove commercials from your DVR recordings. You can enable that for every recording via Settings > Live TV & DVR > DVR Settings, or on a show-by-show basis through each show's advanced Record Options.
Plex warns that automatic commercial-skipping requires extra CPU power and time. In my tests, my 2012 Mac mini's CPU held up fine, and recordings processed in roughly 13-23 minutes per hour, depending on whether they were 720p or 1080i. You can't watch an episode until it's finished recording.
Plex did a generally respectable job of clipping commercials. In most cases, its guesses at where ads ended and the show began were off by a second at worst.
That said, Plex once ate about 15 seconds from the beginning of one act, likely because it mistook an all-black frame in the show for the end of another commercial. On another occasion, it inexplicably excised the first minute or two from a couple of acts in a two-hour episode — annoying, but I could still follow the action.
Based on previous experiments with homebrewed Plex commercial-skipping, Plex might also confuse super-short sections at the end of half-hour shows for ads, and lop them off. In my testing, I wasn't able to find or record any shows with segments short enough to confirm that.
Plex's automatic commercial-skipping works well enough for casual use. But any part of an episode that it cuts is gone for good. If you want to preserve your shows in flawless, ad-free glory, take matters into your own hands.
Method 3: The Avidemux answer
Plex, Channels DVR, and HDHomeRun DVR all record episodes in MPEG Transport Stream or .ts format. In theory, you could manually edit these streams. But iMovie won't accept them, and QuickTime Player struggled with them, slowing to a crawl as I made more and more edits, and producing final movies with out-of-synch audio.
Initially, I had better luck with Shotcut, a free, open-source video editor that works with .ts files (and nearly everything else). But after I first published this article, subsequent updates to Shotcut seemed to break its ability to seamlessly edit .ts files, leaving it with the same slowdown problems and poor results that plagued QuickTime Player.
By converting .ts files to .mp4 with Handbrake, I could move them into iMovie for fast, frame-by-frame edits. But even with Handbrake 1.2's embrace of speed-boosting hardware acceleration, the process took a long time, and the three different compression cycles it required took their toll on the final video's quality.
When I first investigated the free, open-source Avidemux, it behaved like a hot mess. But since then, updates to the app seem to have done it a world of good. Once you get the hang of its quirky interface, you can edit .ts files quickly and smoothly. And as long as you follow the rules and check the right boxes, you can save .ts files, minus commercials, with no recompression, lost quality, or messed-up audio.
How to cut out commercials in Avidemux
Open Avidemux and drag your video file into its main window.
For now, focus on the lower left corner. The playhead slider moves you forward and backward through the video. Besides that, you'll need to concentrate on these four buttons in the controls below:
The double backward and forward arrows skip from your current spot on the playhead to the previous or next keyframe in the video. To understand why that matters, you'll need to learn a little about video compression's mathematical tricks.
Basically, a .ts file only saves certain frames from its original source, known as keyframes. Every frame of video between those keyframes just keeps track of the changes between the keyframe and the current frame, leaving the unchanged pixels in the image alone. That helps squeeze the original video down to a smaller size.
To edit and save a .ts file without having to redo all these calculations – which takes a good deal longer and might reduce video quality – you need to make all your edits on keyframes. Luckily, the black frames before and after every commercial break in a show usually, but not always, become keyframes, making it easy to snip out commercials without losing more than a few frames of actual show (at worst).
To tell Avidemux where to begin and end your cuts, use the "A" and "B" buttons circled in the image above. Slide the playhead to the beginning of a commercial break. From there, click the double backward or forward arrows to find an appropriate keyframe, preferably one that's entirely black. Then click the "A" button to mark the beginning of your selection:
Slide the playhead forward until you find the end of the commercial break. Use the double backward or forward arrows to find a good keyframe to cut on. Then click the "B" button to mark the end of the selection:
Once you've got that commercial break marked, just hit the
Delete key, and it'll vanish for good. Repeat this for every other commercial break in the file, until you've got an uninterrupted show.
Time to save your work. Look for the settings on the left side of the Avidemux window. You'll want them to look like this:
Leave "Lavcodec" alone, and make sure "Video Output" and "Audio Output" are set to "Copy." If it isn't already there, set "Output Format" to "Mpeg TS Muxer (ff)". This ensures your resulting file won't need to be reprocessed.
To keep your video and audio from going out of synch, click the "Configure" button below "Output Format." You'll see this box appear:
Make sure "VBR muxing" is unchecked. Trying to save the video at a variable bit rate seems to cause the video/audio synch problems.
You can leave that "Mux rate" box alone, or tinker with it as you wish. (Avidemux will save your edited version as a copy, so you'll still have the original video if you need a do-over.) The bigger the number, the higher the video quality, and the larger the file size. Depending on how your TV provider compresses video, the default 10 Mbps setting may be higher than the original broadcast was. In my tests, that setting produced a video file slightly larger than the unedited original, even after I'd snipped out the commercials.
When you're all set, click the delightfully antiquated Save icon in the upper left corner of the Avidemux window:
Re-saving your .ts file should only take a few seconds. Avidemux will automatically add "edit" to the end of the original file's name, to avoid confusion. By default, it should save your file in the same folder as the original, but you can change that if you like. Just make sure you're saving your video as a .ts file.
(Avidemux will also create a matching .idx file that records the edits you made to the original. Keep it if you want to revisit those edits without having to redo them.)
You'll now have a .ts file that looks and sounds like the original, with all its audio and subtitle tracks intact. You can keep it as is, or compress it further with Handbrake. (Check out this article on ripping Blu-rays for advice on how to get the best results from Handbrake.)
What about other DVR apps?
Channels has built-in, non-destructive commercial indexing. Double-click your AppleTV remote's fast-forward button during a commercial break to jump right back into the show. For more precise or permanent editing, use Avidemux.
HDHomeRun DVR and Emby
If the Mac versions of these apps offer any commercial-skipping or -indexing features, I couldn't find information on them. Avidemux seems like your best bet. HDHomeRun DVR users, if you plan to compress your videos in Handbrake after you edit them, avoid H.265/HEVC compression, which the app doesn't support on Macs (as of this writing).
EyeTV offers its own powerful, built-in engine for editing out commercials. You can give it a head start by installing ETV-comskip, which guesses at commercial breaks and adds markers you can later adjust. Once you've marked all commercials, EyeTV can compress each episode (extremely slowly) to get rid of them.
Reclaiming your time
Whether you skip over ads, edit them yourself, or let your app do the work, it's easy to spend less of your life sitting through commercials, and more of it enjoying the shows you love.
Any other tips or tricks I've overlooked here? Share your advice in the comments below!