我正在尝试理解苹果在其iOS设备以及Safari上支持的HTTP Live Streaming协议如何保护解锁内容的关键。
据我了解,.m3u8文件将所有内容集成在一起,并引用内容(MPEG2 TS容器,AES 128加密)和TS文件的密钥。
就像这个示例:
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:7794
#EXT-X-TARGETDURATION:15
#EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=52"
#EXTINF:15,
http://media.example.com/fileSequence52-1.ts
#EXTINF:15,
http://media.example.com/fileSequence52-2.ts
#EXTINF:15,
http://media.example.com/fileSequence52-3.ts
#EXT-X-KEY:METHOD=AES-128,URI="https://priv.example.com/key.php?r=53"
#EXTINF:15,
http://media.example.com/fileSequence53-1.ts
假定使用基于浏览器的播放,其中在“src”属性中输入m3u8文件到<video>
元素中。即使密钥通过https传递,如何确保用户不会简单地在浏览器中输入https URL并将密钥保存到硬盘?据我所知,<video>
标签在使用浏览器的https堆栈播放m3u8源时进行密钥下载——如何区分浏览器内部的合法客户端和只是在地址栏中键入它的用户?这一点一定很明显,但我就是看不明白... 最好的祝愿,dansch