AES-128 Video Encryption

AES-128 is the standard cipher HLS uses to encrypt video segments, with the key fetched from a URL listed in the playlist. It stops casual downloading, but any client that can play the stream can fetch the key. Without protected key delivery, AES-128 is transport scrambling, not content protection.

What is AES-128 Video Encryption?

AES-128 is the standard cipher HLS uses to encrypt video segments. The player fetches the decryption key from a URL listed in the m3u8 playlist and uses it to decrypt each segment as it plays.

How AES-128 Works in HLS

When a stream is packaged with AES-128, each segment is encrypted with a 128-bit key. The playlist points to a key file; the player downloads the key, decrypts the segments, and plays them. This stops someone from simply right-clicking and saving a plain video file.

Why AES-128 Alone Is Not Enough

  • The key is reachable: Any client that can play the stream can fetch the key from the same URL, which is exactly what tools like yt-dlp do.
  • Marketed as encryption: It is the most common thing sold as video encryption that still fails against real rippers.
  • Transport scrambling: Without protected key delivery, it obscures the transfer but does not protect the content.

AES-128 vs DRM

DRM closes the gap AES-128 leaves open: the key is delivered only to a protected Content Decryption Module, never to code the viewer can reach. For paid content, AES-128 is a lower rung on the protection ladder than DRM, useful as a deterrent but not a barrier against determined downloading.