惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
K
Kaspersky official blog
L
LINUX DO - 热门话题
P
Proofpoint News Feed
P
Privacy & Cybersecurity Law Blog
Google DeepMind News
Google DeepMind News
Attack and Defense Labs
Attack and Defense Labs
Cisco Talos Blog
Cisco Talos Blog
AI
AI
L
LINUX DO - 最新话题
H
Heimdal Security Blog
Hacker News: Ask HN
Hacker News: Ask HN
Webroot Blog
Webroot Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
The GitHub Blog
The GitHub Blog
I
Intezer
Blog — PlanetScale
Blog — PlanetScale
有赞技术团队
有赞技术团队
S
Securelist
博客园_首页
IT之家
IT之家
Schneier on Security
Schneier on Security
博客园 - 叶小钗
罗磊的独立博客
WordPress大学
WordPress大学
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
MongoDB | Blog
MongoDB | Blog
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
A
Arctic Wolf
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
W
WeLiveSecurity
The Register - Security
The Register - Security
D
DataBreaches.Net
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
Recorded Future
Recorded Future
NISL@THU
NISL@THU
N
News and Events Feed by Topic
T
Tailwind CSS Blog
N
News and Events Feed by Topic
Cyberwarzone
Cyberwarzone
T
Tor Project blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com

HLS

[视频床程序] free-hls 一个免费的 HLS 解决方案 - V2EX HLS 大量小文件问题 - V2EX 分享几个在线用 HLS 播放的示范页面 - V2EX HLS 对于 Chrome for Android 的 MIME 类型是什么? - V2EX 有办法让 Chrome 支持苹果的 HTTP Live Streaming (HLS)吗 - V2EX
请教大家一个问题, m3u8 文件如何防下载 - V2EX
hyy1995 · 2020-08-30 · via HLS

hyy1995

  •  1  
  •  

    hyy1995 · 2020 年 8 月 30 日 · 10402 次点击

    这是一个创建于 2114 天前的主题,其中的信息可能已经有所发展或是发生改变。

    小弟是前端,我司项目的视频资源都是用 m3u8 去播,m3u8 文件已经设置了#EXT-X-KEY,但还是能被别人破解下载下来(也不知道是不是后端搞的 key 姿势不对)。

    目前我们的处理方案是后端对整个 m3u8 文件进行一个加密(混淆字符什么的),然后前端播放的时候自己先解密得到真实的 m3u8 文件内容,再去播,不知道这样做管不管用。

    大家有什么好办法能够防止 m3u8 被破解下载呢?或者提高被破解的成本?

    第 1 条附言  ·  2020 年 8 月 30 日

    我们目前的这种方法,对业务的改动较大,并且我个人觉得也不怎么靠谱。至于 drm 也上了,用的是腾讯云的,大家还有什么 drm 之外的防下载方式吗?

    盗版是阻止不了的,我们只求提高盗下成本就行…

  • M3U8
  • 破解
  • 文件
  • 下载

    52 条回复    2025-12-14 23:11:08 +08:00

    delectate

    1

    delectate      2020 年 8 月 30 日

    视频加 drm 。m3u8 被下载就下了吧。

    murmur

    2

    murmur      2020 年 8 月 30 日   ❤️ 1

    没用的,你的东西如果值钱,抗得住录屏么

    crella

    3

    crella      2020 年 8 月 30 日 via Android

    用 websocket 传输?

    yuzo555

    4

    yuzo555      2020 年 8 月 30 日

    EXT-X-KEY 是 HLS 标准里面定义的加密。
    任何支持 M3U8 播放的播放器、下载工具都能正确处理 EXT-X-KEY 。
    这就像你给你家大门上了密码锁,然后密码用纸条写在了门上一样... 根本没用

    ysc3839

    5

    ysc3839      2020 年 8 月 30 日 via Android

    防不了,就连 Netflix 这种用了 DRM 方案的都能被下载。

    8023

    6

    8023      2020 年 8 月 30 日 via iPhone

    drm+1,但只要你的视频在客户端播放,就肯定没办法彻底放得住的。

    hyy1995

    7

    hyy1995      2020 年 8 月 30 日

    @delectate
    @8023

    drm 已经加了,用的腾讯云的,但还是能被盗下,而且还直接放了个网站,能让用户自行操作就能下载的那种。

    老板看不下去了让我们去提高下防盗门槛,我们目前就想到对整个 m3u8 文件加密的这种方式,但我感觉也不太靠谱,唉

    hyy1995

    8

    hyy1995      2020 年 8 月 30 日

    @ysc3839

    确实防不了,但想提高下盗下成本,除了 drm 之外,有什么建议吗?

    hyy1995

    9

    hyy1995      2020 年 8 月 30 日

    @murmur

    哈哈,录屏这种就管不了了,现在已经有网站直接挂着我司的名字,提供一键下载视频的功能,并且还收费(几块钱那种),老板看不下去了。

    主要是想针对这种网站,提高盗下的成本

    heyjei

    10

    heyjei      2020 年 8 月 30 日

    当做普通的反爬来处理不就好了嘛
    1. 如果有 IP 只下载视频或者 m3u8,不下载 js,css 文件的,肯定是爬虫,直接把 IP 封了吧;
    2. m3u8 的加密改成可配置的,3 天换一次加密方式,如果不是利润特别大的话,对方自己就会放弃的。

    martinsu

    11

    martinsu      2020 年 8 月 30 日 via iPhone

    我觉得防盗方法不是用某一个高水平防盗方法。而是用一套中等水平的防盗方法,隔一段时间就改变规则让盗版手段失效,不断改,盗版者的手段不断失效,最后让盗版者精疲力尽放弃。

    littlewing

    14

    littlewing      2020 年 8 月 30 日

    在前端解密就不要想着能防破解了

    gggxxxx

    16

    gggxxxx      2020 年 8 月 30 日

    做盗版的账号是付费用户.....

    musi

    17

    musi      2020 年 8 月 30 日

    可以看一下阿里云的付费点播

    luvroot

    18

    luvroot      2020 年 8 月 30 日

    阿里云的 3 种 URL 鉴权方式,或则每次请求带 jwt token 过校验服务器。

    hyy1995

    19

    hyy1995      2020 年 8 月 30 日

    @gggxxxx

    不太像,因为每个视频都需要单独付费的,有些视频单个都得几百元,他网站上面下载一次就收几块钱,能回本吗?不太可能

    fredcc

    20

    fredcc      2020 年 8 月 30 日

    阿里云 CDN 不是有成品的防盗链么。分发 cdn 地址的接口做好验证,重放攻击这种都是起码的。然后把 CDN 防盗链 token 的失效时间设短点,再加上全局 token ip 限次差不多了。

    linuxvalue

    21

    linuxvalue      2020 年 8 月 30 日

    对文件内容进行流加密 边解密边播 下载到本地的也是加密的

    no1xsyzy

    22

    no1xsyzy      2020 年 8 月 30 日

    @hyy1995 #19 盲狙一个内鬼,不然就是你这边对于 DRM 的使用其实做的一塌糊涂。
    @murmur 录屏可以被 HDCP 抗,摄屏好像还有用亮暗噪点抗(视觉上不明显,但摄像机会认为亮度改变而自动修正,导致最后的摄屏结果不能看),但似乎又有对应的处理方式。

    ——

    现在是有真·DRM 方案的。可信计算 + HDCP,直到显示器显示出来为止完全处于加密状态。
    但是,相应地,真·DRM 的方案也有弊端,就是观看的平台被限定了。
    首先,ARM 杀一半;其次,Linux 杀大部分;然后 HDCP 杀掉部分显示器(自组别想了);最后,代码不能直接访问 IO (所以游戏别想了)。
    就是你只能带上那群组织提供的整套方案,在你的整个设备和接口中硬嵌另一套设备和接口(或者说,后门)进去。
    这些后门价格不高,几乎白送,就是为了让 DRM 内容能够播放。

    hyy1995

    23

    hyy1995      2020 年 8 月 30 日

    @gggxxxx
    @no1xsyzy

    是我搞错了。其实那些盗下网站要求的是自己已购的视频才行,相当于是花了钱买视频,然后想下到本地看…

    我还以为是有什么神通广大的招数能直接拿到我们的 m3u8…

    systemcall

    24

    systemcall      2020 年 8 月 31 日 via Android

    @no1xsyzy HDCP 就安全吗?上采集卡,刷个固件照样采集
    蓝光播放机够理想了吧?用户连第三方软件都安装不了,整个设备都足够安全。照样可以被提取出来视频,只能提高一般人接触盗。版的难度
    网飞,也是一套 DRM,浏览器、操作系统、显示设备都有要求,还不是有盗。版的
    而且你把东西的门槛提得太高并不好,用户会用脚投票

    jingcoco

    25

    jingcoco      2020 年 8 月 31 日 via iPhone

    加水印?

    myCupOfTea

    26

    myCupOfTea      2020 年 8 月 31 日

    @hyy1995 付费播放是对 url 携带的 token 做了权限校验,其实 p 站除了付费的也是可以直接爬下来的,这东西不太好防(要不就是防御的成本过大)

    no1xsyzy

    27

    no1xsyzy      2020 年 8 月 31 日

    @systemcall #24 哦看了下 HDCP 技术细节,线性密钥是真的犯蠢了
    然后英特尔承认了主密钥泄漏还在做…… 向厂商收用户的智商税,最后还是用户买单(

    hornets

    28

    hornets      2020 年 8 月 31 日

    一般都是正常类似资源站之类的一个下载,或者录屏了,全都用一个资源,只有有利可图,就没有办法

    uTuw2C6uf964Kx6o

    29

    uTuw2C6uf964Kx6o      2020 年 8 月 31 日

    不知道怎么防,但是我知道 p 站视频用手机 uc 、qq 浏览器能下载;朋友买的付费视频课,我登录后他账号后用 uc 也能下载

    takemeaway

    30

    takemeaway      2020 年 8 月 31 日

    能播就能下,你问的是防止别的网站盗播吧?
    这个跟防盗链原理差不多,你可以多去了解一下

    buffzty

    31

    buffzty      2020 年 8 月 31 日

    防不了下载. 但是可以抓大鱼. 就像慕课平台视频 他里面每隔一段时间移动显示会员 id. 只要传播数量过大. 到时候报警就像.他收的钱最后还是要还回来. 你前端所有东西都相当于明文,不管你怎么传输,加密. 你的加密方式永远都会在前端找到

    Yutang

    32

    Yutang      2020 年 8 月 31 日

    M3U8 二级目录提供 ts 的下载链接,可以动态生成,多久后链接失效。各大视屏网站好像是这种。或者也可以客户端对 ts 链接进行处理之后,才是正确地址。感觉对 ts 链接做改动比较靠谱。

    youxiachai

    33

    youxiachai      2020 年 8 月 31 日

    国内网站都有备案。。。
    一告一个准。。。

    tankren

    34

    tankren      2020 年 8 月 31 日

    把对方网站搞了索赔巨额赔偿 杀鸡儆猴

    gelilaohuang

    35

    gelilaohuang      2020 年 8 月 31 日

    把链接发一下,我看看 一分钟之内能不能扒下来😁

    flowercoder

    36

    flowercoder      2020 年 8 月 31 日

    去 52 看下,前两天刚看一个基于 idm 的 m3u8 插件,比较靠谱的方式可以学下 heima,那家应该是被盗的最多的。还有就是账号实名制,法律协议加好,加本用户水印,这确实是一个相当靠谱的方法。

    kuner0614

    37

    kuner0614      2020 年 8 月 31 日

    你们公司可以自己做一个网站,学习盗版网站的经验,把盗版流量通过这个站点收回来,后台加一个看板。可以针对性的用这些人群来做数据分析分类营销,明面的钱和暗地的钱都能赚到。

    zhw2590582

    38

    zhw2590582      2020 年 8 月 31 日

    就算 m3u8 防得了,视频是肯定防不了,任何加密视频,我分分钟都能录下来

    yolee599

    39

    yolee599      2020 年 8 月 31 日

    换个思路,加隐形水印,即使录屏,水印也不能去除,发现盗版流出直接律师函,参考各个视频 APP 的收费播放。

    richChou

    40

    richChou      2020 年 8 月 31 日

    @murmur 我记得安卓客户端可以禁止录屏。不过拿其他设备翻录确实就没办法了。

    JCZ2MkKb5S8ZX9pq

    41

    JCZ2MkKb5S8ZX9pq      2020 年 8 月 31 日

    感觉除了定期嵌 ID 也没啥好办法,连 P 站 /mgstage/dmm 这种规模都防不了盗版……
    最近一次摸 ameba 的视频,是无法播放的 ts 片段,感觉也是前端加密而已。

    fengmumu

    42

    fengmumu      2020 年 8 月 31 日

    是这个逻辑,你们老板发现的是别人提供了下载工具,不是发售你们的视频,说明啥啊,你们做的不合理啊,要不要考虑一下 视频加水印,然后提供下载功能,毕竟有需求就总会有市场,索性你们直接把市场干死

    jon

    43

    jon      2020 年 8 月 31 日

    传播盗版发律师函呗

    Huang4966

    44

    Huang4966      2020 年 8 月 31 日

    我这边的方案是. 视频使用 hls 标准加密,切片脚本设置为每个视频单独生成解密 key 文件. 然后将生成的解密秘钥进行 base64_encode 存储到数据库. 切片后文件上传阿里云 OSS.

    Huang4966

    45

    Huang4966      2020 年 8 月 31 日

    我这边的方案是. 视频使用 hls 标准加密. 需要用到阿里云 OSS, 阿里云 CDN 重写,FFmpeg 切片.
    1.在使用 FFmpeg 切片时,切片脚本设置为每个视频单独生成解密 key 文件. 并 base64_encode 存储数据库
    2.同时切片配置信息的#EXT-X-KEY 设置为进行播放鉴权的 url
    3.切片后文件上传阿里云 OSS 并对播放域名开启 CDN 鉴权
    4.后端返回前端 m3u8 文件地址时,在地址后面加上当前请求播放用户的加密信息.
    5.播放器使用 m3u8 获取 ts 文件时,触发阿里云 cdn 重写,将加密用户信息提交到自己设置的鉴权中心
    6.鉴权中心,对用户身份,视频播放有效期,请求次数进行鉴权后,从数据库取出 key 字段进行 base64_decode 解密
    7.播放器获得解密 key 进行播放

    以上可以用户在获取 m3u8 和播放时都需要进行鉴权,同时都有时效限制.每个视频也都是不同秘钥.可以提高下载门槛
    如果前端功底好的话可以在播放器 js 中进行对 m3u8 的操作进一步提高安全性.

    luwies

    46

    luwies      2020 年 8 月 31 日

    自己做传输协议可以提高被下载的难度

    enrolls

    47

    enrolls      2020 年 8 月 31 日

    前端组装 m3u8 文件。目的是想防下载,那就提高下载的门槛,用速度,请求次数区分正常用户和非正常用户。

    myCupOfTea

    48

    myCupOfTea      2020 年 9 月 2 日

    @Huang4966 播放器能获得解密的 key,那就肯定可以爬下来的啊,我现在爬一些 ts 文件,只要顺便把 m3u8 描述里面的 key 文件顺便爬下来就好了

    Huang4966

    49

    Huang4966      2020 年 9 月 2 日

    @myCupOfTea 是的,key 是防范不了的.只要你有访问资源权限就可以获得. 只能通过对用户行为上进行区分,提高难度而已.

    myCupOfTea

    50

    myCupOfTea      2020 年 9 月 2 日

    @Huang4966 恩,我之前爬某网站发现,m3u8 里的切片会过一段时间就变名字,估计不会花大代价重新切片只是重命名而已,然后我把老的 ts 列表和新的 ts 列表按索引自动替换下继续下没下载好的(

    xzsljc

    52

    xzsljc      2025 年 12 月 14 日

    只要能看,基本没办法防下载的