9

我想php在 HTML5 视频中实现视频加密并播放加密视频。我已经阅读了一些关于它的文件:

而且我知道我可以使用其他工具和服务:

我想提供这样的例子:

我应该通过哪些步骤?我在服务器端使用 PHP(laravel)。

4

1 回答 1

5

如果您想支持主要常用的 DRM,此时 Widevine、PlayReady 或 FairPlay,那么您确实需要多 DRM 服务器或服务。

如果您只想要基本保护,您可以使用 AES 加密或明确使用 DASH。

这些并不安全,但有时足以满足某些需求。

您可以使用 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

您还可以使用 mp4Box ( https://gpac.wp.imt.fr/mp4box/encryption/common-encryption/ ) 创建基本的清晰 DASH 加密:

MP4Box -crypt drm_file.xml movie.mp4 -out movie_encrypted.mp4

drm 信息包含在 drm_file.xml 中,并在上面的链接中进行了说明。

于 2017-09-28T15:36:00.593 回答