Many years ago, High-Bandwidth Digital Content Protection (HDCP) was born because the film industry freaked out over releasing digital movies that would flow digitally—rather than through analog conversion—across a cable to a monitor or television. The standard requires a cryptographic handshake between the software in a dedicated player or on a computer or mobile device and the display. Without that handshake, no video would flow.
I wrote about HDCP most recently in March, offering a variety of troubleshooting advice for people trying to sort out why their software on a Mac wouldn’t allow them to playback any video on a connected display, or why they received a warning about degraded content because an HDCP handshake wasn’t happening.
We’ve received a spate of additional emails since then, and I’ve been researching the issue further. I discovered that I was wrong about a fundamental part of the question. I’ve provided a corrected explanation below.
I also looked at a cheap hardware bypass for streaming video to an external monitor, and whether it works for OS X. (Sorry: it doesn’t.)
Finally, I summarize what each major streaming service notes about requirements and troubleshooting, and finish up with how to fix DRM errors even with a built-in display by resetting or removing Silverlight.
Only iTunes in OS X supports external monitors
The accurate answer to HDCP and externally connected Mac monitors has three parts:
- iTunes can detect the connection correctly, and play the highest-resolution video on HDCP-capable monitors.
- Non-Apple firms offering digital streaming or other digital playback options through browser plug-ins, HTML5 video, or freestanding OS X apps will always report an HDCP or other error for an external display.
- Apple doesn’t expose the required information to third parties (via an API that developers can use) to determine whether HDCP is in place, according to Adobe.
Apple does not currently publish their APIs to detect/engage Output Protection. As such, it is currently not possible to detect if the display is HDCP compliant, nor is it possible to engage HDCP.
This also prevents using HDCP over AirPlay, because AirPlay-supporting devices apparently also don’t expose to third-party developers whether the associated device is an authorized device. The Apple TV works fine with HDCP and external displays, and in what should be bitter irony, fourth-generation Apple TV apps from Netflix, Hulu, and others, firms that can’t stream DRM-protected video in OS X to an external monitor are perfectly able to while wrapped in the embrace of tvOS.
Oddly, Apple doesn’t provide information about HDCP, OS X, and external displays on its site. Macworld asked Apple for more details, and we’re still waiting to for more insight. We’ll update this story if we receive a reply.
Reader Kevin Kelly wrote in recently to report that he couldn’t get Flickster software to play on an Apple Thunderbolt Display, and that Apple customer support had told him that the Apple monitor wasn’t HDCP certified, and that one needed to have a certified display. It’s possible it’s not HDCP certified, but it doesn’t seem like the second part of that statement is correct.
I contacted the Electronic Frontier Foundation (EFF), an organization that works on securing digital rights for individuals, whether anyone on staff knew about this issue, as EFF has issued opinions on and litigated about digital-rights management (DRM) control of media playback. They had none.
I recently encountered this myself on a recent sweltering day, when my family retreated into a room in the house with a window-mounted air conditioner and I set up my 2015 MacBook with an HDMI output adapter to connect to an external 1080p computer monitor. Amazon’s software wouldn’t let us watch the first Harry Potter movie at high-def. Fortunately, we were all wilted enough, the display was tiny enough, and we were sitting far enough away that the SD didn’t rankle us.
I also tested various methods with a Mac mini and external displays of different types, and it failed consistently, as now expected.
One area of exploration was using a powered HDMI splitter, an inexpensive small box that takes HDMI input and then allows the output to be fed out through two or more HDMI ports. These splitters aren’t designed to bypass HDCP, nor would I suggest you buy a box designed for piracy.
However, some (not all) apparently terminate HDCP handshaking within the box, satisfying the DRM software on the host device, and then output unencrypted video, so that a monitor or other HDMI-capable hardware doesn’t balk. Folks who want to record themselves playing videogames have turned to these splitters with Playstations and other gaming systems.
I tested this with one recommended splitter that can handle up to 4K displays, and it didn’t work. I wasn’t precisely expecting it to, because OS X seems to simply not allow HDCP via external monitors at all (as noted above), but I wondered if third-party software might somehow recognize the box differently than a monitor. No luck! I could try more splitter boxes, but it’s likely the problem remains the same.
Each streaming service has unique requirements
Let’s review what each of the services claim about Macs and playback errors; most of the details relate to playing in a browser, not using a connected monitor:
Amazon: Recommends use of HTML5 video with Chrome (version M42 or newer), Firefox (version 47 or newer), and Opera (version 31 or newer). Safari isn’t in this list at all, as the Microsoft Silverlight plug-in is required to watch in Safari.
Flickster: Claims complete compatibility through browsers using Flash. Also offers its own desktop software, which reader Kevin (cited above) couldn’t get to recognize HDCP playback recently from his Mac to an external monitor.
Hulu: Hulu doesn’t have specific browser advice, and while it says you should have the latest version of Flash and enable HTML5 video (an option in some browsers), it has no guidance about HDCP errors.
iTunes: Apple has no documentation about HDCP or troubleshooting, except with the Apple TV. However, in the last five years, there are almost no forum posts (at Apple or elsewhere) about Mac-related HDCP playback problems, only with Windows.
Vudu: As noted in the previous troubleshooting article, Vudu varies from Netflix’s note by stating explicitly OS X doesn’t support HDCP for external monitors at all: “…most Apple laptops and desktops (Mac Mini and Mac Pro) do not support HDCP outputs to external monitors. If you’re using a Macbook Pro or Macbook Air, you can watch HDX using the laptop display.” While I said that was wrong in my previous article (now updated), it’s clear Vudu was ahead of the curve.
Some people report problems using an integral monitor in a laptop or iMac and across many services and many forums, have found that disabling screen-sharing software fixed their problem. This includes third-party sharing options, like AirParrot and iTeleport, and Apple’s built-in screen-sharing (Sharing system preference pane). It apparently doesn’t have to be in active use for it to be problem; disabling the option or quitting the app running in the background or via its system menu did the trick for many people.
For many people, removing the third-party DisplayLink software sometimes required for certain external Mac monitor combinations helped, too. There’s no on/off switch, but you can use an uninstaller to remove it by downloading the full software package from DisplayLink, which includes the removal software. Then re-install it after you’re done with the video content; it’s not ideal at all.
Switch off Silverlight
Silverlight is often the common denominator for problems with internal displays that should otherwise allow playback. It’s an older Microsoft technology that must have advantages relative to Flash for playing video, because many streaming services adopted it. It’s no longer necessary in many circumstances, as noted above.
If you want to continue to use Silverlight, try these strategies:
Empty the Silverlight cache for the site. Amazon has detailed instructions under Resolve Silverlight Issues heading.
Dump a cached DRM error. Silverlight apparently logs and caches any DRM problems. If you set something up the plug-in didn’t like or there was a transient HDCP handshaking problem—which is extremely common—you might just need to delete a file, through the following steps.
- Quit the active browser.
- In the Finder, choose Go > Go To Folder.
- Delete the file
mspr.hdsand empty the trash.
- Relaunch the browser.
You can also delete Silverlight altogether, although that means not using Amazon Video with Safari.
- Quit the active browser.
- In the Finder, choose Go > Go To Folder.
- Delete the files Silverlight.plugin and WPFe.plugin (either or both may appear) and empty the trash.
- Repeat steps 3 and 4 with
- Relaunch the browser.
Is Apple to blame?
Yes, seemingly, although it’s maddening as a technology writer and consumer to not have a definitive answer about a basic piece of protective software from the maker of the operating system and hardware that interacts with it.
It would seem that OS X supports HDCP for integral monitors, and, with iTunes, for external ones to meet licensing requirements. There’s no excuse I can see for not exposing the API to third parties. And, even if it were a browser issue, it seemingly extends to Safari, which can’t handle HTML5, Flash, or Silverlight protected streaming to external monitors.
Apple could easily rectify this problem. Failing that, Apple could clearly document it.