在课堂环境中逐步下载video – 如何确定所需的带宽

背景:我们需要向一个15人左右的教室提供一个video重型电子学习课程。 这个video将通过HTML5video传递MP4,所以渐进式下载。 从我能收集到的东西你不能stream到HTML5video。

这15个用户将在同一个房间,共享一个互联网连接

该video将是很多很短的(30秒)剪辑,每个大约9 MB。 这些文件将从Amazon Cloudfront(CDN)

随着渐进式下载,每个“客户端”下载尽可能快吗?

这个理论是正确的还是离开的?

  • 用户A是第一个下载一个剪辑,并开始以接近全速下载
  • 用户B和C然后到达相同的阶段,所以他们开始下载,但没有太多的带宽,所以他们下载真的很慢
  • 用户DP被拧紧!

我该如何build议我的客户他需要什么networking连接来保证stream畅的播放?

任何想法/build议?

这比你想像的要简单,一个9MB的30秒剪辑是300KBps,你有15个,所以你需要能够传输4.5MBps,大约45Mbps。 从服务器到教室的单个100Mbps连接应该没问题。 只要不是内存不足,networking服务器就会轻松pipe理一次读取文件并caching它们,从而减less随机读取的需求。

Web服务器随机读取的最坏情况是所有15个用户同时启动不同的非cachingvideo,所以15×9MB,135MB。 鉴于这些是固有的顺序文件,任何体面的磁盘控制器将开始stream动所有15个video在不到一秒或两个从最便宜的单个磁盘。

基本上运行一个100Mbps的链接,并确保您的Web服务器有足够的内存和放松:)

简短回答:2.4 Mbit(9 MB * 8位/字节/ 30秒)* 15(客户端)= 36Mbit,以便stream畅播放。 如果不是每个人都一次下载,或者如果你有一点加载时间的话,你也许可以做得比这更less。 他们可以通过本地caching(例如Squid)做得更好,以确保他们只下载一次这些文件。

长的答案是“这取决于很多东西”:)

而且,如果客户都在类似的机器上并下载相同的东西,那么客户端将使用率相等。 所以学生DP没有麻烦,他们都会放慢速度(环境中所有的东西都是平等的)。

就个人而言,我会使用caching“服务器”(Fe Squid)作为教室,所以如果15个用户的video总是相同的,那么只需要下载一次。

在serverfault上看到这个问题:

configurationSquid来caching媒体stream

这可以大大降低你的带宽需求,如果你事先知道你甚至可以在关机时caching它们,所以你可以使用当前可用的带宽,而不需要额外的昂贵的线路。

根据video的许可证和客户所在的位置,您可能需要面对一些法律问题。