HLS 视频加密小记

我是在ubuntu中,安装好了 ffmpeg

加密用的 key(生成一个encrypt2.key文件)

openssl rand  16 > encrypt2.key

另一个是 iv(生成一段字符串,记下来)

openssl rand -hex 16

新建一个文件 encrypt2.keyinfo 内容格式如下:

Key URI  # encrypt2.key的路径,使用http形式

Path to key file  # encrypt2.key文件路径

IV  #  上面生成的iv

如:

http://localhost/test/encrypt2.key
./encrypt2.key
88c674428c1e719751565ad00fe24243

最后使用 ffmpeg 命令,将一个mp4文件 转换成 m3u8格式

ffmpeg -y   -i test.mp4  -hls_time 60  -hls_key_info_file encrypt2.keyinfo  -hls_segment_filename "file%d.ts" playlist.m3u8  

以上参数说明:

  1. -hls_time 每段文件的时间长度(单位:秒)
  2. -hls_segment_filename 每个小段的文件名生成规则

最后会生成一个 playlist.m3u8 和 一个或多个的 file 开头 ts结尾的 ts文件。

使用 video标签 播放 m3u8,如:

<video id="my-video" class="my-video" >
        <source src="http://localhost/test/playlist.m3u8"  type="application/x-mpegURL">
</video>

以上的内容都是抄 参考的第3篇的博文,执行的命令只是为了方便自己,不用再次链接到其它Blog上再细看


Reference

  1. 视频内容谁来保护?阿里云视频加密技术大揭秘,打造云上视频安全体系 從這個文章中,知道一個 HLS 視頻標準加密
  2. HLS 如何实现加密 ? - 闲散将军的回答 - 知乎 知道一個 github項目和HLS有關的
  3. 使用ffmpeg视频切片并加密
原文地址:https://www.cnblogs.com/fsong/p/10440439.html