寻求方案,解决 WEB 端,循环播放固定的视频播放带来的大量的流量消耗问题。

2023-12-18 13:41:22 +08:00
 leyfung

寻求方案,解决 WEB 端,循环播放固定的视频播放带来的大量的流量消耗问题。

问题产生:可视化大屏中有视频播放功能,每天会一直播放,消耗大量的流量。

需求:减少流量的消耗。

目前的方案:使用浏览器缓存,设置视频缓存过期时间。

有不有更好的方案?因为浏览器有缓存大小的限制,视频循环播放一轮之后,缓存会被清理。

8741 次点击
所在节点    程序员
79 条回复
LancerComet
2023-12-18 14:17:07 +08:00
@leyfung 我认为您可以先试一下,这个不是默认的 http caching ,可以阅读一下文档: https://developer.mozilla.org/en-US/docs/Web/API/Cache
leyfung
2023-12-18 14:20:26 +08:00
@LancerComet #21 好的 ,感谢,我测试一下吧,这个文档我也看了
tool2d
2023-12-18 14:25:38 +08:00
超大文件不太适合用浏览器默认缓存。假设一个高清短视频 200M ,那么十几个要好几个 G 了,

最好就是本地启动一个 http web 代理服务器,有本地写入权限。

让 js 来访问本地服务器的视频,顺便把视频都缓存到用户磁盘上。
leyfung
2023-12-18 14:33:34 +08:00
是个办法👍
jiangzm
2023-12-18 14:36:54 +08:00
@qinjiang #5 牛逼! 请教下怎么通过浏览器读取本地是否存在某文件?
iosyyy
2023-12-18 14:41:00 +08:00
@drymonfidelia 你先搞清楚 electron 事干啥的好吗? 这 tm 是 web 端需要 electron 吗?
AllenCai
2023-12-18 14:41:14 +08:00
indexDB 试试
tool2d
2023-12-18 14:41:26 +08:00
@jiangzm 有 API 的,只要用户点同意,就能读取了。

按照道理来说,JS 能访问本地系统文件并不安全,但是大屏应用无所谓的。

https://developer.chrome.com/docs/capabilities/web-apis/file-system-access
drymonfidelia
2023-12-18 15:00:58 +08:00
@iosyyy 他不是说浏览器没权限吗 那就只能 electron 打包个客户端啊
ZZITE
2023-12-18 15:03:28 +08:00
Service Worker 了解一下
简单的说可以代理你的请求,可以制定自己的缓存策略精细化管理缓存,可以把缓存的内容写到用户本地磁盘上
duke807
2023-12-18 15:04:21 +08:00
视频用 av1 压缩,大小直接变小很多,小于浏览器缓存大小的限制
leyfung
2023-12-18 15:04:49 +08:00
@tool2d #28 感谢,我写个 DEMO 试试
leyfung
2023-12-18 15:09:21 +08:00
@AllenCai 所有视频加起来比较大,我看这个大小有限制,并且还受到浏览器的限制
jspatrick
2023-12-18 15:15:06 +08:00
你需要 indexedDB ,理论上浏览器所在盘有多大空间它就能吃多大,所以要记得清理过期数据
MENGKE
2023-12-18 15:17:26 +08:00
循环播放就只加载一边就缓存了啊,为啥会消耗大量流量呢?
jiangzm
2023-12-18 15:19:32 +08:00
@tool2d #28 不是一回事, 上传文件也是问询, 做不到主动读取
Masoud2023
2023-12-18 15:20:38 +08:00
<video>我记得设置 loop 是不会再次请求的啊?

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/video#loop
qinjiang
2023-12-18 15:20:48 +08:00
@leyfung 本地启 node 服务代理接口,读取本地文件传给 web ,或者使用新的浏览器 api 可以读取本地文件
Masoud2023
2023-12-18 15:21:22 +08:00
难道视频太大了这个会失效?我没试过,至少 youtube 我没遇到过这样的问题
qinjiang
2023-12-18 15:22:31 +08:00
@jiangzm 大屏的网页有个好处在于,他运行的电脑比较固定,在那个电脑上启个服务代理接口,用服务去读本地文件。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://yangjunhui.monster/t/1001322

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX