HLS加密、解密细节 | 您所在的位置:网站首页 › 在线视频加密怎么解除 › HLS加密、解密细节 |
加密:使用FFmpeg进行视频文件切割转m3u8索引文件(ts文件)并AES-128加密; 解密:索引m3u8文件含有获取解密匙URI,大致如下: #EXT-X-KEY:METHOD=AES-128,URI=“https://priv.example.com/key.php?r=53” URI部分就是去获取解密匙的http请求,进行边解密边播放。 URI可以加token进行权限控制。 加密解密原理参考:https://blog.csdn.net/coloriy/article/details/47295499?utm_source=blogxgwz9 使用ffmpeg将视频切片并加密参考:https://blog.csdn.net/zyxzj/article/details/104520298 java调用ffmpeg开源项目(maven引入,免安装FFmpeg):https://github.com/a-schild/jave2 //java调用ffmpeg开源项目:https://github.com/a-schild/jave2 //使用FFmpeg命令如下 FFMPEGLocator locator = new DefaultFFMPEGLocator(); FFMPEGExecutor ffmpeg = locator.createExecutor(); ffmpeg.addArgument("some i need self operation here"); ffmpeg.execute(); ffmpeg.destroy();使用ffmpeg将视频切片并加密: 前提条件,需要有ffmpeg,最新版格式工厂安装后,会自动装上ffmpeg 新建一个记事本,取名enc.key(名字可以随便取),添加16个字节的秘钥,如 qwertyuiop123456新建一个文件,enc.keyinfo,添加如下内容 http://localhost:8080/enc.key enc.key这里需要把enc.key和enc.keyinfo放在同一目录下 在当前目录运行cmd或者powershell 执行 ffmpeg -y -i video.mp4 -hls_time 12 -hls_key_info_file enc.keyinfo -hls_playlist_type vod -hls_segment_filename "file%5d.ts" video.m3u8解释: video.mp4 --需要处理的视频 -hls_time 12 --将分片时长设置为12秒 -hls_segment_filename “file%5d.ts” --设置ts文件格式化名称 video.m3u8 --m3u8文件名 生成后,将所有文件移动到本地搭建的tomcat中,方便测试 同时,将enc.key也放到本地服务中,保证KeyUrl可以访问:http://localhost:8080/enc.key,这样一来,m3u8就可以在支持网络串流的播放器中播放了,这里推荐使用VLC media player,播放时,m3u8文件会自动寻找秘钥keyUrl |
CopyRight 2018-2019 实验室设备网 版权所有 |