【发布时间】:2016-03-29 05:50:12
【问题描述】:
我使用ffmpeg -i fighter.mp4 -hls_time 10 stream.m3u8 创建了一个 m3u8 文件。
但是 m3u8 文件中没有 #EXT-X-KEY 信息。
如何在 HLS 播放列表中添加 key?
【问题讨论】:
标签: ffmpeg aes http-live-streaming
我使用ffmpeg -i fighter.mp4 -hls_time 10 stream.m3u8 创建了一个 m3u8 文件。
但是 m3u8 文件中没有 #EXT-X-KEY 信息。
如何在 HLS 播放列表中添加 key?
【问题讨论】:
标签: ffmpeg aes http-live-streaming
要使用 FFmpeg 的 HLS 分段加密功能,请查看 the documentation 的 22.7.1。
您可以传递hls_key_info_file 选项,指向包含密钥信息的文件。该文件可能如下所示:
http://server/file.key
/path/to/file.key
该文件的第一行说明了密钥的 URI,该密钥被写入 HLS 播放列表。文件的第二行指向密钥文件(可以是本地或 http),媒体将根据该密钥文件进行加密。
因此,在您的 FFmpeg 命令中添加类似这样的内容应该可以:
ffmpeg -i fighter.mp4 -hls_time 10 -hls_key_info_file file.keyinfo stream.m3u8
【讨论】:
ffmpeg -version 并告诉我您在 Mac 上运行的软件版本。 FFmpeg 在 2014 年 12 月增加了对 -hls_key_info_file 选项的支持,因此您需要最新版本的 FFmpeg 才能完成这项工作。