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
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.
J'ai implémenté un module similaire pour sécuriser les fichiers .ts avec le cryptage AES-128 et le décrypter sur le serveur. Espérons que cela aide: