我是在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
以上参数说明:
-hls_time
每段文件的时间长度(单位:秒)-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
- 视频内容谁来保护?阿里云视频加密技术大揭秘,打造云上视频安全体系 從這個文章中,知道一個 HLS 視頻標準加密
- HLS 如何实现加密 ? - 闲散将军的回答 - 知乎 知道一個 github項目和HLS有關的
- 使用ffmpeg视频切片并加密