音视频允许播放 不允许下载的方案
https://www.nuomiphp.com/t/622340629dd14607350e3261.html
@shellc
网页浏览器加载视频播放(以及多线程下载工具的下载)都不是单线程一次请求下载完的,都是边播边下载,很多 Range: bytes=x-x 的请求,播放暂停之后,缓冲一两分钟加载也就暂停了,恢复播放就会重新连接下载,这个时间不能是十秒,只能比用户完整播放的时间要长...;
上面说的 STS 也是不行的,属于是没看清楼主的需求,STS 只是相当于加了一个链接失效时间,用户抓到之后只要链接没失效还是可以下载的,而且嗅探工具(例如 IDM )还是可以直接下载;
Blob 方案只是隐藏了在 F12 - 元素和源代码里面的地址,并没有解决 F12 - 网络里面抓包的方案,而且用户如果安装了嗅探工具或者插件的话还是可以下载到;
ffmpeg wasm 方案的话,我只能说够折腾的,用户浏览器有那加载 ffmpeg 的时间,视频早下载完了。。。而且还是没有解决隐藏地址的问题;
稍微可行的方案是自编 MSE ,但这样太复杂了,也可以直接用现成的 flv.js 、HLS.js 或者 Dash.js ,但注意不能直接给个 M3U8 给他就播放,需要做点混淆。
现成的方案可以考虑 #15 提到的,也就是我们多吉云的防嗅探下载功能,是完全免费的,视频上传后复制代码贴到网页上即可使用,可以体验下: https://docs.dogecloud.com/vcloud/manual-anti-sniffer
流量的话每月免费 20GB ,超出部分最高 ¥ 0.11 / GB 。
如果视频比较重要舍得花钱的话,可以考虑我们的防盗水印功能: https://docs.dogecloud.com/vcloud/manual-unique-watermark
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端