38 条回复  ·  760 次点击
wen20 小成 2024-9-11 09:39:42
.ts 都是绝对路径的话,可以试下。
ppddtt 小成 2024-9-11 10:21:21
这样做没有意义,本质上还是本地解密,客户端包含密钥信息
dyllen 小成 2024-9-11 10:31:28
@newbie111 你这话好多问题,前端项目的.env 文件并不在前端,那是在服务器保存的,并不会暴露。人家说的前端指浏览器端,不是你这前端项目。aes 加密,浏览器播放端要解密,必定需要密钥,别人就能拿到。
tool2dx 初学 2024-9-11 10:35:46
还不如学 youtube ,直接把视频接口从 get 都改成 post 。

个人感觉,把后端鉴权做好就够了,保证走你自己加密的 js 那一套 web 流程。
EridanusSora 小成 2024-9-11 11:03:45
视频加密的正确方法:上 DRM ,比如 widevine
easydou 小成 2024-9-11 11:10:30
加密 m3u8 的话,也可以用国内的一些厂商产品,比如保利威,阿里云等。如果自己写的话,最好打包成 wasm ,这样破解难度高,解密速度也比直接 js 解密要快
fly9i 小成 2024-9-11 11:21:16
一般常规做法是在 m3u8 不加密,ts 文件加密,每个 ts 文件密钥可以不一样,加密一般是用 aes-128-cbc 。
m3u8 中配置一条
#EXT-X-KEY:METHOD=AES-128,URI="https://example.com/path/to/key",IV=0xabcdef0123456789abcdef0123456789

类似这样的数据,hls.js 每次请求 ts 前会先先请求密钥,ts 解密也是库里自动了。
thinkingbullet 小成 2024-9-11 11:24:11
@yuzo555 ffmpeg -i video.mp4 -codec:v libx264 -codec:a aac -strict -2 -f hls -hls_key_info_file key_info.txt -hls_segment_type mpegts -hls_encryption_algorithm AES-128 -hls_key_url http://example.com/path/to/key playlist.m3u8
gpt3.5 的答案是这个,不知道谁真谁假
abusizhishen 小成 2024-9-11 11:51:15
用 ffmpeg 加密之后,得到 m3u8 文件,把其中的解密 key 加密,前端播放前解密,这样对方拿到 m3u8 也无法播放,不过问题是解密是在前端,对方研究代码也能找到破解的方法,代价是花费更多的时间
puzzle9 初学 2024-9-11 11:51:56
m3u8
要不 你自己重新实现下解密流程 像那种视频网站一样
增加下破解难度而已
返回顶部