相关文章:
1.hls
HTTP实时流(也称为HLS)是一种基于HTTP的媒体流通信协议,由Apple Inc.制定。它类似于MPEG-DASH,它的工作原理是将整个流分解为一系列基于HTTP的小文件下载,每次下载都加载一个分片。当播放流时,客户端可以从多个不同备选流中选择,这些备选流包含不同编码速率的码流,从而允许流会话适应可用的数据速率。在流会话开始时,HLS下载一个扩展的M3U播放列表,其中包含各种可用子流的元数据。
2.加密方式
hls可以允许码流加密和不加密,其中加密方式有几种:aes-128, sample-aes, drm等。
不同的加密方式原理不一样,生成的方式也不一样,下面简述的是sample-aes加密流的生成:
3.sample-aes加密原理
SAMPLE-AES加密是对media分片的各个流进行分别加密,各个流包括audio,video。其他类型的samples是不进行加密的。加密算法是aes-128。加密处理的媒体文件还是可以通过工具获取相关信息,但播放不了(因为没有解密)。
请注意:这里的sample-aes加密原理不是指Apple的FairPlay DRM
,这个drm系统加密的hls流在m3u8里的METHOD也是SAMPLE-AES。
#EXT-X-KEY:METHOD=SAMPLE-AES,URI="skd://17ca34ec-b64f-4fcf-82b6-c087ad2308dc",KEYFORMAT="com.apple.streamingkeydelivery",KEYFORMATVERSIONS="1"
在这里,vid