作者:深蓝加菲
链接:https://www.zhihu.com/question/20697986/answer/128433075
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

HLS的加密 , 这个有两种方式: 
1. 常见的一种是防盗链(严格来讲这不属于加密) , 也就是说给 m3u8 和 ts 文件的url动态生成一个 token , 比如这个:
http://www.cuplayer.com/m3u8/hunan/desc.m3u8?stream_id=hunan<m=1410595018&lkey=8bc1e0fe35f6321ef560f8ccffb70e5d&path=59.49.42.14,58.59.3.9,58.59.3.51&platid=10&splatid=1015&tag=live&cips=127.0.0.1&ext=m3u8&sign=live_tv

这个url是随着很多参数动态变化的,比如时间,用户id、ip地址,内容id , 导致你无法使用这个url盗链,这种方式可以防止其他网站直接使用你的url来观看或者一般用户的下载。

而ts文件的url 也需要加请求token , 会变化成类似 http://server/file.ts?token=xxxx 的方式, 这样的话, ts文件的磁盘存储位置不用变化,但是url是可以变化的(可以用query string方式,也可以用 url rewrite 方式), 注意因为url是m3u8生成的,意味着m3u8文件是动态生成而并非静态文件

关于CDN缓存的问题, 首先m3u8文件肯定不能缓存, 否则ts分片的动态url怎么办?
然后动态url的 ts分片CDN缺省是肯定不缓存的,但是可以稍微定制一下让CDN忽略URL中的token部分。很多CDN都有自己的防盗链方案。

2. DRM加密。防盗链的方式是一种一般性的保护, 假如你想完全保护你的内容,必须给ts内容加密, m3u8有这个tag: #EXT-X-KEY , 一般来说会提供一个url获取加密key, 然后对ts片段解密来播放文件

演示:http://www.cuplayer.com/cu/Encrypt/Polyv.html

[hls]m3u8视频如何处理成加密?相关推荐

  1. 微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签

    微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签 前言 萤石云开放平台 微信开发者工具 前言 因为项目需要在微信小程序上展示实时视频流信息,以下内容是我将萤石云平台官方文档和自己实 ...

  2. hls二次加密 m3u8_解决加密的HLS(m3u8)视频转换问题

    F:\迅雷下载\XXXXXXXX>ffmpeg -i list.m3u8 -c copy -bsf:a aac_adtstoasc ALL.mp4 ffmpeg version 2.5.3 Co ...

  3. 使用python下载加密的流媒体m3u8视频文件,获取电影资源

    使用python下载加密的流媒体m3u8视频文件,获取电影资源 m3u8简介 代码示例 获取文件名与m3u8地址 媒体序列解密 视频序列片段下载 完整代码 后记 m3u8简介 M3U8是Unicode ...

  4. 实现videojs接入m3u8视频,踩了多少坑啊

    实现vue3通过videojs接入m3u8视频,一天多总算搞成功了.下面就扒一扒我在实现过程中踩的那些坑...... 前言 我们最常见的mp4类型的视频,直接通过vue原生的video引入就可以了. ...

  5. Windows上搭建rtsp-simple-server流媒体服务器实现rtsp、rtmp等推流以及转流、前端html与Vue中播放hls(m3u8)视频流

    场景 Nginx-http-flv-module流媒体服务器搭建+模拟推流+flv.js在前端html和Vue中播放HTTP-FLV视频流: Nginx-http-flv-module流媒体服务器搭建 ...

  6. FFMPEG将视频切片成ts文件并对ts文件进行ASE加密,并合并成M3U8操作方法

    环境:centos7 开发语言:php 框架:视频转码服务系统 生成ASE加密文件需要用到的命令: #!/bin/sh BASE_URL=${1:-'.'} openssl rand 16 > ...

  7. 【Python网络爬虫实战篇】使用selenium+requests爬取下载高清源视频:关于爬取m3u8文件链接解析为ts视频合并成mp4视频的分析实战

    这两天博主在摸鱼时,偶然间接触到了流媒体的概念,一时间来了兴致.再加上之前博主有着七.八年的视频制作经验,深知视频素材获取的不易.因此,打算利用自己所学的python网络爬虫的知识,通过编写代码实现获 ...

  8. Hls.js播放m3u8视频 DPlayer视频播放器(easypan) MSE简介

    文章目录 学习链接 hls.js播放m3u8视频 效果 代码 前端代码 安装hls.js App.vue 后台代码 准备文件 mp4文件切片java实现 TsController TsService ...

  9. Python下载加密m3u8视频

    一些网站会提供m3u8视频地址,以供下载观看.或者一些网站经过分析后发现是使用m3u8格式进行播放的,这时使用m3u8的地址链接就可以下载到相应的视频. 一.关于m3u8:(https://blog. ...

最新文章

  1. dedecms channel php,织梦标签代码Channel标记怎么用
  2. qt中文件读取的方法(新手入门必看)
  3. 2021青海高考文综成绩查询,2021年青海高考分数线预测 文理科录取分数线预测
  4. 服务器显示器切换_尼某某 DDOS 攻击高德,致使服务器处于黑洞状态 5 个多小时:被判 16 个月...
  5. 今天,终于又有时间更新飞鸽传书了。
  6. kubernets1.52安装文档
  7. C# Serializable学习
  8. 将JavaScript和VBScript添加到您的.NET Apps
  9. python (continue与break)区别
  10. 最大值、数据排序、九九乘法表、杨辉三角
  11. 读《王垠-天才是什么》有感
  12. 【供应链金融】五阿哥:如何打造钢铁电商独特供应链金融风控体系?
  13. PLC可编程控制器、变频调速综合实验装置(网络型)
  14. 老瞎眼 pk 小鲜肉
  15. 基线_读心术基础(四) 什么是基线
  16. STorM32 BGC 三轴云台学习(一) 通信协议分析
  17. 利用STM32CubeMX软件生成USB_DEVICE_SD卡虚拟U盘
  18. 计算机维修工文明操作,初级计算机维修工操作题.doc
  19. 大量的Oracle数据库视频教程提供下载
  20. C语言程序的入口真的是main方法吗?

热门文章

  1. CodeForces - 1455E Four Points(数学+几何)
  2. CodeForces - 548D Mike and Feet(单调栈)
  3. POJ - 3294 Life Forms(二分+后缀数组)
  4. LightOJ - 1237 Cyber Cafe(费用流)
  5. CodeForces - 520C DNA Alignment(思维)
  6. netty冲突 play sbt_netty4 实现一个断点上传大文件功能
  7. 基于android的水稻叶片特征测量系统,基于Android的水稻叶片特征参数测量系统
  8. Team Work(CF 932 E)[bzoj5093][Lydsy1711月赛]图的价值
  9. Socket重叠IO
  10. VC++ 创建Windows服务