Zen's Hermitage

Why YouTube and Netflix Behave Differently on Safari and Chrome

frontendbasefundamentalbasicchrome-youtube-4k

What Sparked My Curiosity

I once saw an article like this before.

"On Mac, you're losing out when listening to music or watching videos on Chrome."

At the time I looked into it, there were some limitations in Chrome, and it said there was audio quality degradation and resolution restrictions.

However, I didn't look into it precisely, and just let it pass thinking "I guess that's how it is."

Then recently, this topic came up during a meal with colleagues... and I got embarrassed because I hadn't properly checked it.

So, I suddenly became curious and decided to investigate properly.

Netflix 4K Doesn't Work on Mac Chrome?

Surprisingly, that's true. Netflix 4K doesn't work on Mac Chrome.

Regardless of your subscription plan, 4K doesn't output properly.

DRM and Netflix

Netflix uses DRM (Digital Rights Management) technology for copyright protection.

Netflix operates a very strict DRM system to protect high-quality content.

This system requires hardware-level security, which needs special security chips or hardware-based content protection technology.

This is where an important difference emerges.

Safari, as a browser developed directly by Apple, is deeply integrated with macOS and can directly access system-level hardware security features.

On the other hand, Chrome, as a cross-platform browser developed by Google, has difficulty with such deep system integration.

Looking at it specifically, Netflix requires a security protocol called HDCP (High-bandwidth Digital Content Protection) 2.2 to play 4K content.

This is not something that can be implemented simply at the software level, but a hardware-based security system that requires the graphics card, display, and operating system to all work together.

Because of this, Chrome generally only supports up to 1080p maximum.

Even if users subscribe to a premium plan, use a 4K monitor, and have sufficient internet speed, 4K playback is blocked due to the browser's own limitations.

But... It Works Fine on Windows?

In Windows environments, there are cases where watching 4K Netflix on Chrome is possible under certain conditions.

This is because Microsoft and Netflix have collaborated to provide special DRM support on Windows 10 and above.

However, macOS doesn't provide such exceptional support.

So how can you watch Netflix 4K on Mac?

The easiest approach is to use Safari.

The reason these limitations exist is ultimately for content protection.

Movie studios and content production companies are very concerned about their high-quality content being illegally copied, and therefore require policies that only allow the highest quality on the most secure platforms.

Apple's ecosystem can control everything from hardware to software, making it easy to satisfy these security requirements, but open-source based Chrome has relatively more constraints (there are also things Apple restricts).

In summary, it's not a difference in technical performance, but a difference in security policies and platform integration.

What is the HDCP Security Protocol?

Before learning about YouTube, let's take a deeper look at HDCP.

What is HDCP and Why Did It Emerge?

HDCP (High-bandwidth Digital Content Protection) is a security protocol for protecting digital content.

To understand it more easily, let's first imagine the fundamental problem with digital content.

For example, suppose there's a blockbuster movie that a film production company spent hundreds of millions of dollars to make.

When providing this movie through Netflix or other streaming services, what is the production company most worried about?

It's someone copying that high-quality video as-is and distributing it illegally. Especially ultra-high-quality content like 4K or 8K needs even stricter protection.

In the past analog era, quality degraded with each copy, so there was a natural protection mechanism. (This is sometimes called digital degradation.)

But in the digital age, copies can maintain the same quality as the original, so this natural protection barrier has disappeared.

An artificial security system became necessary to solve this problem.

How HDCP Works

Let's look step by step at how HDCP works.

This protocol was developed by Intel and is designed to maintain encrypted state across all paths where digital content is transmitted.

It's like having security guards watching over every section from origin to destination when transporting precious jewels.

To understand the specific operation process, let's use watching a 4K movie on Netflix as an example.

First, encrypted video data is transmitted from Netflix servers to the computer through the internet.

At this time, the browser or app decrypts this data and then passes it to the graphics card.

The graphics card processes this video and sends it to the monitor, and this section from graphics card to monitor is HDCP's core protection area.

Here's where an important concept comes in. HDCP is not just software encryption, but a security system implemented at the hardware level.

The graphics card and monitor go through a process called "handshake" to confirm that the other party is a legitimate HDCP-supported device.

This is similar to two people checking each other's ID cards and exchanging passwords to build trust.

For HDCP to work properly, all components in the entire connection chain must support it.

Not only the graphics card, cable, and monitor, but also the operating system, browser, and even drivers must all support HDCP.

If even one of these doesn't support it, the entire system is judged to be vulnerable from a security standpoint, and high-quality playback is blocked.

Features of HDCP 2.2

HDCP basically adopts a public key encryption method.

Let's first think about the core idea of public key encryption systems.

In traditional encryption, the key to create and the key to decrypt were the same (symmetric key method).

But in public key encryption, two different keys form a pair.

One is the public key that anyone can know, and the other is the private key that only the owner can know.

This can be compared to a mailbox - the location of the mailbox is public so anyone can put letters in, but only the owner has the key to take letters out.

HDCP 2.2 is based on this public key encryption concept but designed for the special purpose of digital content protection. Think of it as a security protocol for supporting large-capacity, high-quality content like 4K.

The most important feature of this system is that it must operate in real-time.

Since encryption and decryption must happen constantly every moment while watching a movie, speed and efficiency are very important.

Let's look at the initialization process of HDCP 2.2 step by step.

1. Authentication Process

Imagine what happens when you connect a computer to a monitor.

The first thing that happens is the "authentication" process.

This is similar to two people confirming each other's identity when they first meet.

The graphics card greets the monitor saying "Hello, I am a legitimate transmitting device that supports HDCP 2.2."

At this time, the graphics card presents its digital certificate, which is a certificate issued by an organization called Digital Content Protection LLC.

The monitor verifies this certificate, and if valid, presents its own certificate to the graphics card as well.

In other words, they go through a process of checking each other's certificates first.

These certificates are not just simple ID cards, but each contains unique encryption keys.

Each HDCP-supported device is assigned a unique key set during manufacturing, which acts as a unique identifier in the world, like a fingerprint.

This way, the system can distinguish genuine devices from illegal copies.

2. Key Exchange Process

Once authentication is complete, the next step, the "key exchange" process, begins.

This uses a very sophisticated mathematical algorithm, based on a method called Diffie-Hellman key exchange.

Let's look at this process with an everyday example.

Imagine two people need to create a secret password in a public place.

There are eavesdroppers around, but even if they hear, they shouldn't be able to figure out the secret password.

Diffie-Hellman key exchange is a very clever method that can be used in exactly this kind of situation.

The graphics card and monitor each have one secret number.

These numbers are never directly revealed to the other party.

Instead, they put these secret numbers into a special mathematical formula and exchange only the transformed results.

Amazingly, just by exchanging these transformed numbers, both sides can calculate the same common secret key.

An eavesdropper in the middle can only see the transformed numbers, but cannot figure out the actual secret key.

Now let's see how actual content protection works.

Once key exchange is complete, the graphics card and monitor have a common encryption key.

This key is only valid for a very short time and is periodically replaced with a new key. This is the same concept as a bank's one-time password (OTP).

When actual video data is transmitted, a symmetric encryption algorithm called AES (Advanced Encryption Standard) is used.

This is a method that can encrypt large amounts of data at very high speed.

4K video must transmit an enormous amount of data per second, so this high-speed encryption is essential.

One of the special features of HDCP 2.2 is the "link verification" system.

This is a mechanism that continuously checks security status while the connection is maintained.

Like a security guard making regular patrols, the system checks the connection status every few seconds.

If someone tries to intercept the signal in the middle, or an unauthorized device is connected, it's immediately detected and video transmission is stopped.

This link verification process uses a "challenge-response" method.

When the graphics card sends a randomly generated question to the monitor, the monitor calculates and returns the correct answer that only it can know.

If this process fails, the system immediately switches to emergency mode, transmitting only low-quality video or stopping transmission altogether.

Key Improvements in HDCP 2.2

Let's understand the key improvements that distinguish HDCP 2.2 from previous versions.

The most important change is the increase in encryption strength.

HDCP 1.4 used 56-bit keys, but HDCP 2.2 uses 128-bit AES encryption.

This has the effect of exponentially increasing security strength.

If it takes a few days to crack a 56-bit key through brute force attack, a 128-bit key is so strong it would take longer than the age of the universe.

Also, HDCP 2.2 improved the "repeater" handling method.

A repeater means a device that relays signals, such as AV receivers or HDMI splitters.

In previous versions, these relay devices could become weak links in the security chain, but in HDCP 2.2, each repeater must also be authenticated individually and is designed not to compromise the security of the entire connection chain. (This means hardware authentication is required, so at this point, HDCP 2.2 compatible cables may be required when watching Netflix.)

HDCP 2.2 Implementation and Hardware Considerations

Let's also look at the hardware factors that must be considered in actual implementation.

HDCP 2.2 cannot be implemented with software alone.

It must be supported at the graphics card's chipset level, which is to accelerate encryption operations in hardware.

Trying to process such complex encryption in real-time with software alone would put excessive burden on the CPU and significantly degrade system performance.

A dedicated chip is also needed on the monitor side.

This chip must decrypt received encrypted signals in real-time and display them on screen.

For 4K 60fps video, it must process about 12 gigabits of data per second, which requires very high-performance hardware.

The role of cables also needs consideration. In HDCP 2.2, the cable itself becomes part of the security system. High-quality HDMI cables have authentication chips built in, so the system can verify whether it's a genuine cable.

This is to prevent someone from intercepting signals using specially made cables.

Furthermore, HDCP 2.2 also includes a "geographical restriction" feature.

This is a feature that restricts content to play only in specific regions, where each device has its own region code and can only play high-quality content in that region.

HDCP 2.2's Improved Error Handling Mechanism and Understanding Real-World Issues

The system's error handling mechanism is also very sophisticatedly implemented.

If an error occurs during the encryption process, the system immediately switches to "graceful degradation" mode.

Instead of stopping playback completely, this method continues playback at lower quality.

For example, if there's a problem with 4K playback, it automatically switches to 1080p, and if that doesn't work, it drops to 720p.

Finally, we need to understand HDCP 2.2's limitations and real-world problems.

Theoretically it's a perfect security system, but in reality, compatibility issues frequently occur.

Especially when connecting devices from different manufacturers, there are cases where the handshake process fails due to subtle implementation differences.

Because of these problems, sometimes even legitimate users cannot properly view content they purchased.

Does YouTube Also Not Support 4K on Chrome?

Actually, this was the part that confused me. I understood that Netflix doesn't support 4K on Chrome because it requires HDCP 2.2.

So, I naturally assumed YouTube would be the same, and would use Safari only when watching videos while normally using Chrome.

However, it turns out that's not the case. YouTube works fine at 4K on Mac Chrome.

Let's see why.

The Different Philosophies of YouTube and Netflix

If Netflix prioritizes "security and content protection," YouTube prioritizes "accessibility and compatibility."

This stems from the difference in the two platforms' business models.

Netflix charges subscription fees and provides premium content, while YouTube is based on advertising revenue, so as many users as possible need to be able to access it easily.

This philosophical difference also clearly shows in technical implementation.

YouTube hardly uses hardware-based security systems like HDCP.

Instead, it tries to provide a similar experience on any browser by maximizing the use of web standard technologies.

YouTube's Video Streaming Method

Let's look step by step at YouTube's video streaming method.

YouTube uses a technology called "adaptive streaming."

This is a method where the system automatically selects the most appropriate quality for the current situation, just like water naturally finding and flowing through the easiest path.

To explain specifically, a single video uploaded to YouTube is actually converted and stored in several different qualities and compression methods.

For example, the same video exists in various resolutions like 360p, 720p, 1080p, 1440p, 4K, and each is encoded again in multiple codecs like H.264, VP9, AV1.

When a user plays a video, the system comprehensively judges network speed, device performance, browser support capabilities, etc., and selects and provides the most appropriate version.

Let's pay attention to "codec support differences by browser."

Codec means the method of compressing and decompressing video, which is like different languages.

Since not all browsers can understand all languages, YouTube must provide video in a language that each browser can understand.

Different Codecs for Safari and Chrome

Mac's Safari is excellent at H.264 decoding through hardware acceleration.

This is because Apple has built a dedicated H.264 decoder into their own silicon.

Therefore, Safari can play high-quality videos encoded in H.264 very efficiently.

Battery consumption is low, heat generation is low, and CPU usage is minimized.

On the other hand, Chrome's situation is a bit more complicated.

Since Chrome is a browser developed by Google, it actively supports the VP9 codec developed by Google.

VP9 has better compression efficiency than H.264, so it can transmit the same quality with less bandwidth.

However, VP9 decoding is mainly processed by software, so CPU usage increases and battery consumption can increase.

Recently, a next-generation codec called AV1 has also emerged.

It provides more efficient compression than VP9, but hardware support is still limited, so it often has to rely on software decoding.

Therefore, there's a problem that significant system resources are needed when playing high-quality AV1 video.

Sometimes you might feel that "YouTube plays more smoothly on Safari."

This is not simply a quality issue itself, but a difference in decoding efficiency.

Thanks to hardware acceleration, Safari can maintain high frame rates stably, but Chrome may occasionally experience frame drops due to software decoding.

However, there's one point to consider here. When using VP9 or AV1 on Chrome, you might actually experience better quality.

This is because more information can be transmitted at the same bandwidth. Especially in environments with limited networks, Chrome can provide a better experience.

YouTube's Quality Selection Algorithm

Let's also look at YouTube's quality selection algorithm.

YouTube's goal is not simply to provide the highest quality.

Instead, it tries to optimize "perceptual quality."

This means the quality that users actually perceive, which may differ from theoretical quality.

For example, if you try to play a 4K video in an unstable network situation, buffering will occur frequently and it can actually provide a bad viewing experience.

In such cases, YouTube chooses to lower the quality to 1440p or 1080p to ensure seamless playback.

This is based on the judgment that "continuous playback at moderate quality" provides a better experience than "a few seconds of perfect quality." (At one time, this led to cases where it would arbitrarily switch to 360p when using 4G.)

Hardware Acceleration Differences by Browser

Let's also take a look at the differences in hardware acceleration support by browser while we're at it.

Hardware acceleration is a technology that uses graphics cards or dedicated chips instead of the CPU to process video.

This has the same effect as using a calculator instead of calculating by hand.

Safari is deeply integrated with macOS, so it can utilize all of Apple Silicon's hardware acceleration features.

M1, M2, M3 chips have dedicated engines built in for various codecs like ProRes, H.264, HEVC, and Safari can directly utilize these engines.

Chrome also supports hardware acceleration, but must use a generic approach.

Since it must work on various operating systems and hardware, it's difficult to fully utilize the unique features of a specific platform.

This is like how products used in multiple countries have difficulty fully utilizing each country's special environment.

Checking Codecs on YouTube

If you look closely at YouTube's quality settings menu, you can discover more interesting facts.

If you select "Advanced" in settings, you can check not only resolution but also codec information.

For example, if it shows "1080p60 (VP9)," it means 1080p resolution at 60fps using the VP9 codec.

Even at the same resolution, the actual data amount and quality differ depending on the codec used.

Comparing 1080p encoded in H.264 with 1080p encoded in VP9, generally VP9 provides similar or better quality at lower bitrate.

However, VP9 requires more computation for decoding.

Summary

Netflix doesn't support 4K on Chrome, while YouTube does.

This difference comes from the differences in management philosophy and technical approach between YouTube and Netflix.

At first, I just thought "I guess that's how it is" without thinking much, but looking into it in detail like this is really interesting.

If you look into it further, there are really many factors involved, so there are many parts that couldn't be covered in this article.

Since there's a lot of knowledge I need to look into right now, I only looked into it enough to satisfy simple curiosity.

Nevertheless, I hope this article helped you understand at least the basic concepts of HDCP 2.2 and the differences between YouTube and Netflix.