背景:我们需要向一个15人左右的教室提供一个video重型电子学习课程。 这个video将通过HTML5video传递MP4,所以渐进式下载。 从我能收集到的东西你不能stream到HTML5video。
该video将是很多很短的(30秒)剪辑,每个大约9 MB。 这些文件将从Amazon Cloudfront(CDN)
随着渐进式下载,每个“客户端”下载尽可能快吗?
这个理论是正确的还是离开的?
我该如何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的许可证和客户所在的位置,您可能需要面对一些法律问题。