M3U8 加密流(AES-128)原理与播放

目录

  1. 什么是 AES-128 加密
  2. 工作原理
  3. 如何播放加密流

什么是 AES-128 加密

HLS 协议支持对 TS 分片进行 AES-128 加密,防止视频内容被直接下载盗用。加密后的分片即使被下载,没有密钥也无法播放。

工作原理

加密流的 m3u8 播放列表中会包含密钥信息:

#EXT-X-KEY:METHOD=AES-128,URI="https://example.com/key.key",IV=0x...
#EXTINF:10.0,
segment-000.ts

播放器流程:

  1. 读取 #EXT-X-KEY 标签,获取密钥 URI。
  2. 下载密钥文件(16 字节)。
  3. 用密钥解密 TS 分片后再播放。

如何播放加密流

转换加密流为 MP4 时,FFmpeg 同样会自动处理:ffmpeg -i "加密m3u8地址" -c copy out.mp4。