2017-01-09 3 views
0

Je dois diffuser des vidéos pour les appareils mobiles à partir du serveur en utilisant Http Live Streaming. le fichier contient .m3u8 qui a répertorié les fichiers de .ts. donc comment sécuriser ces fichiers pour accéder uniquement aux utilisateurs autorisés.Comment sécuriser les vidéos HLS, avec AES 128

Répondre

1

Fondamentalement, vous pouvez chiffrer chaque segment avec AES-128. AES-128 chiffre tout le bloc avec AES en utilisant une clé de 128 bits, CBC (Cipher Block Chaining) et le remplissage PKCS7. Le CBC sera redémarré avec chaque segment en utilisant le vecteur d'initialisation (IV).

Vous pouvez le faire avec ffmpeg en créant un fichier de clé qui contient le contenu suivant:

Key URI 
Path to Key File 
IV (optional) 

Vous pouvez créer la clé avec OpenSSL:

openssl rand 16 > video1.key 

Le fichier contient alors les éléments suivants contents:

http://my-server.com/video1.key 
video1.key 

Ensuite, utilisez ffmpeg en fournissant le chemin d'accès à la touche fi le:

ffmpeg -i input.mp4 -hls_time 6 -hls_key_info_file keyFile playlist.m3u8 

Cela va créer les segments et un manifeste qui doit contenir une # EXT-X-KEY: METHOD = AES-128, attribut URI.

#EXT-X-KEY:METHOD=AES-128,URI="http://my-server.com/video1.key" 

Ou vous pouvez utiliser un service commercial qui génère HLS contenu crypté et probablement aussi DASH comme Bitmovin Encoding.