我正在创建一个应用程序,其中我需要下载加密的Mpeg段并使用从服务器下载的密钥在解密后在播放器中播放视频。我不知道从哪里开始。我从here得到了一些帮助,并且正在努力,如果有人有任何人建立或创建了这样的功能,请告诉我。
答案 0 :(得分:1)
如果您需要DRM级别保护,在iOS设备上执行此操作的常用方法是使用Apples FairPlay DRM解决方案。
如果您有苹果开发人员ID,则可以使用文档,SDK和示例应用程序:https://developer.apple.com/streaming/fps/
但是,请注意,要实际部署它,您必须是“许可内容所有者”,我认为这主要针对较大的运营商和内容所有者,因此检查您是否属于第一个定义是很重要的:
请求部署包
如果您是许可内容所有者,准备将FairPlay Streaming的实施部署到生产环境,请申请FPS部署包。请注意,您必须是作为许可内容所有者的开发团队的团队代理。代表许可内容所有者的第三方无法使用FPS部署包。
如果您可以使用较低级别的保护,那么AES加密的HLS可能就足够了 - 实际的视频加密与DRM几乎相同,但密钥本身未加密。
您可以使用ffmpeg和openssl创建AES加密的HLS流 - ffmpeg文档(http://ffmpeg.org/ffmpeg-all.html#Options-34)包含此示例脚本:
#!/bin/sh
BASE_URL=${1:-'.'}
openssl rand 16 > file.key
echo $BASE_URL/file.key > file.keyinfo
echo file.key >> file.keyinfo
echo $(openssl rand -hex 16) >> file.keyinfo
ffmpeg -f lavfi -re -i testsrc -c:v h264 -hls_flags delete_segments \
-hls_key_info_file file.keyinfo out.m3u8