如何在PHP中实现Clear-Key视频加密并以HTML格式播放

Ali*_*udi 9 html php drm ffmpeg eme

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

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

我想提供类似这样的例子:

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

Mic*_*ick 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
Run Code Online (Sandbox Code Playgroud)

您还可以使用 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 中,并在上面的链接中进行了解释。