基本情况:
- 有多所学校与全国网络相连。(大约一千所学校。)
- 我们需要使用专门为这些学校创建的网络向他们提供电子学习内容。不同的县都有 POP,所有这些学校都通过这些点访问互联网。
- 总体网络流量的很大一部分将是上传到 Vimeo 的教育视频。较小部分将是图像,最后是静态 HTML/CSS 文件和 REST API 调用。
- 这些视频嵌入到网页中。(代表在线书籍课程的页面。)我们已经有一个商业 Vimeo 帐户,允许我们将视频嵌入到网页中,而不显示广告。
- 大多数学校都会在特定时间教授相同的课程,因此他们需要在同一时间观看相同的视频。
通过在 POP 上缓存这些视频可以有效减少总网络流量。这一点尤其重要,因为总带宽不足以同时将视频流式传输到所有客户端,而无需缓存。但我不确定如何做到这一点。如果我们可以为每个学校单独安装它们,使用 squid 将是一个非常好的解决方案。不幸的是,这是不可能的。这些学校没有全天候运行 squid 服务器的基础设施,他们的网络非常不同,设备也不同,本地管理员的技能也有很大差异。将内容缓存在 POP 上可能会更好。
以下是一些问题:
- 现在视频流使用什么协议?我从日志中看到,播放器正在使用 HTTPS 协议下载 m4s 文件(mp4 视频片段?)。
- 是否可以透明地缓存这些视频?如果使用 https,则似乎不可能做到(但我可能是错的)。
- 您能建议一些可以减少所需网络带宽的方法吗?也许可以编写一个特殊的网页,从缓存中播放这些视频。
答案1
Https 是端到端加密的,缓存代理必须通过在最终用户机器上安装根证书来破坏 TLS 基础设施,这是极力劝阻。
有什么理由不自己托管视频,以便您使用自己拥有的实际 SSL 证书进行缓存?
答案2
在他们的帮助下,我们找到了解决方案。最具成本效益的解决方案是编写一个使用其直接链接的基于 Web 的视频播放器。Vimeo 提供低、中、高质量版本的直接链接,以及所有上传视频的 http 流。我们必须创建自己的视频播放器,通过可配置的代理服务器下载这些视频。开发这样的视频播放器需要一段时间,但这样我们就可以将代理放置在我们想要的任何地方。