我正试图理解一个服务器体系结构与一个普通的HTTP服务器(例如Apache服务静态内容)之间的本质区别是什么,这个服务器体系结构是devise用于stream媒体,例如FLV或者h.264到Flash播放器,从大文件中的偏移量也提供数据。
我正在谈论静态电影内容,而不是从现场相机或其他东西stream。 我的印象是,一个偶然的Web服务器将会这样做。 要求是通常的播放/暂停,但也可以在未预先加载的video部分进行search。 我的印象是,后者也可以随便服务器。
难道真正的stream媒体服务器更有效率吗?还是有些事情可以做,偶然的服务器不能?
谢谢
实时和/或dynamicstream媒体的处理是简单的HTTP协议没有任何内置的机制(与RTMP类似)。 所以必须有一方或另一方的情报。 让客户有这个“大脑”可以这么说,并且让networking服务器变得愚蠢是最好的。 这对扩展性很好。 微软 , 苹果和Adobe现在都有非常稳定的stream式HTTP解决scheme,客户端知道如何向服务器询问videostream的不同分辨率,比特率和最重要的不同时间段。 这使得它们成为带宽,caching和CDN友好的解决scheme。 微软和Adobe确实需要一个模块服务器端将一个大文件“分块”成分段,而苹果公司则提供了预分块文件并使用完全标准的HTTP服务器。 但是除此之外,智能都在客户端插件上,您可以将代理caching或CDN以原始获取模式与任何解决scheme混合在一起,以非常迅速地进行扩展。
传统的面向连接的stream媒体协议需要专用服务器,而且不能很好地扩展。 你必须支付Akamai或Limelight的大笔资金,才能向大量的观众投放大量的stream媒体。 他们有数以万计的服务器来处理这种事情。
上面提到的相对较新的基于HTTP的选项实际上可以与组织和ISP中networking上已经存在的巨大HTTPcaching基础设施以及CDN提供的巨大的HTTPcaching基础设施一起使用(通常HTTP连接的价格低于连接基于stream的)。
苹果甚至向IETF提交了他们的Live HTTPstream媒体解决scheme,作为一个开放的标准来考虑(尽pipe我怀疑移动networking公司曾经为这种事情发起过一些担心的专利)。
“能够提供从大文件内的偏移量来提供数据”
这需要在客户端和服务器上增加一些额外的智能 – 实际上,您正在HTTP上层叠另一个协议。 但是有很多工具可以完成这个工作。 然而,我不知道有任何stream媒体源(例如相机)上操作 – 只有在具有定义的开始的文件来测量偏移。 OTOH将很难通过直播stream进行导航。