【发布时间】:2017-11-21 15:29:05
【问题描述】:
是否可以在 ffmpeg 中加密 mpeg-dash clear 内容?还是我们需要额外的代码来处理加密?
从 ffmpeg dashenc.c 代码看来,dash 代码不会加密内容。 我们可以重复使用 mp4 muxer 进行加密和 dash 进行分段吗?
【问题讨论】:
是否可以在 ffmpeg 中加密 mpeg-dash clear 内容?还是我们需要额外的代码来处理加密?
从 ffmpeg dashenc.c 代码看来,dash 代码不会加密内容。 我们可以重复使用 mp4 muxer 进行加密和 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 中,并在上面的链接中进行了说明。
【讨论】: