globocom / hlsclient

Python HLS Client
Other
105 stars 21 forks source link

Support encryption and key-rotation #9

Closed jbochi closed 6 years ago

jbochi commented 12 years ago

I've created the branch encryption to tackle this issue.

jbochi commented 12 years ago

Although encryption is now supported, I've reopened this issue since we still need:

  1. Different keys for different streams
  2. IV periodic change
  3. Key rotation

Apple guidelines are:

Key files require an initialization vector (IV) to decode encrypted media. The IVs can be changed periodically, just as the keys can. Current recommendations for encrypting media while minimizing overhead is to change the key every 3-4 hours and change the IV after every 50 Mb of data.

We will need to add m3u8 multiple keys support since when the key is rotated chunks in the same playlist will have different ciphers.