其实,一切技术都有不同的优势和缺点,这一切都取决于该技术的应用领域。对于Helix Universal Server 这个产品,多年来大家都有着各自不同的评价。我总结了下面一些不足点,和可以作为弥补的方式,希望对大家在使用中带来更多的帮助。
1. 庞大的资源占用:其实毋庸置疑的,在Windows 平台下WMS的服务性能要比Helix好的很多,为什么,当然是因为微软自家人的原因,另外也不排除有服务器软件自身的设计原因,不过由于多个版本下来的Helix一直延续这个资源占用较高的状态,所以我们不免怀疑微软在其中对WMS做了特殊的优化。但是一样看来,WMS依赖于Windows平台就是它最大的致密弱点了,不定期的会有关键更新的提示和安全漏洞,使得你不得不重新启动服务器,以及所有的流媒体服务。这个缺点没法弥补,或许更好的方式就是不要采用Windows 环境下的Helix,这样,至少你换来的是更长期的稳定服务的时间,总算有得有失。
2. 频繁的缓冲现象:首先,我们要分析,缓冲现象发生在什么时候,如果是在直播的时候发生,你需要检查的是服务器的出口带宽,最好的方式就是在服务器本机或者本网段内进行点播测试。然后就是分布编码器到服务器的带宽,如果远端的编码器到服务器的连接速率不够,也会导致这样的后果,你可以用简单的网络命令来检测远端编码器到服务器的速率。如果缓冲现象出现在点播的时候,那么除了以上所考虑的服务器出口带宽以外,还要考虑的就是硬盘的吞吐速率。其实绝大多数情况下,都是由硬盘的吞吐导致缓冲现象的产生。而同样的硬盘的瓶颈也会导致CPU IO WAIT时间的增加,导致CPU爆满,以致其他的更多后果。解决这个问题的方法就是采用更高性能的磁盘,更优性能的RAID。不过我们测试过,增加的RAID成本投入,不如直接用分布服务器来做更加来得具有性价比,我们在几十万的SAN存储上面进行的测试效果不错,但是这样的投入,远不如买N台SCSI RAID服务器来的更划算。
3. 直播延时:大家发现Helix的应用领域很广阔,但是一直没有被使用到聊天或者其他一些实时通信领域。导致这个后果的原因有两个,首先Helix Producer的复杂算法,增加了编码的时间,从Producer 输出的编码流就已经比实时慢了。然后就是保证服务质量的服务器特性,导致服务器上面必然会保留一定时间的cache时间,这里又增加了的延时,再次就是在播放器上,也是出于保障服务质量的考虑,会提前缓冲部分节目内容,这部分技术讨论我们在前面有关PerfectPlay 和 TurboPlay 的文章中也有所提起。Helix 的编码质量要大大好于WMS,这点是大家所毋庸置疑的,服务品质也一样,所以我们必须付出这些代价。至于是否有其他的解决方式,其实也有,只能说改善而已。那就是采用第三方的RTP编码器。有技术的朋友可以自己写独立的编码器,或者使用网上提供的其他编码器,比较通用的就是Sorenson的RTP编码器。经过测试,延时可以控制在3-5秒之内,这只是在没有任何优化的前提下进行的测试。如果采用自己编写的H.26X编码,可能速度会更快些。但是就我分析,这3-5秒的缓冲可能就是服务器产生的,因为通过服务器调用的SDP链接将改变RTP的传输方式,播放器将连接到服务器,然后由服务器去获取RTP流。而不是从播放器直接连接到RTP直播源。
4. 无服务器端控制技术:在传统的Helix Universal Server 中,我们没有看到服务器端控制技术,所谓的服务器端控制技术就是在服务器端由管理员手动更改发送给用户的内容。这个技术最大的应用领域就是广告插播,以及突发新闻报道等。在WMS里面我们可以看到支持在服务器端调度播放列表的顺序。Helix Universal Server 的多媒体交互是通过SMI或者多媒体文件本身的映射脚本来实现的。而这些技术的最大缺点就是一点发送给用户端以后,服务器就无法对该文件进行手动的更改。这个技术现在没有什么可以替换或者解决的方式,如果说有,那么就是通过页面脚本和ActiveX控件的联合控制来实现。其实现的原理是从页面脚本发送请求到服务器,然后服务器做被动的服务相应。我们期待Realnetworks能在下一个版本的服务器中加入该功能。顺便要说一句的就是在Mobile Server 里面我们已经看到了部分服务器端控制技术,就是在服务器端控制最终发送的码流大小。以前所采用的SureStream技术,选择码流大小的在于客户端本身,而在Mobile Server 中,可以在服务器上设定发送码流的不同大小。
5. 单调的广告类型:其实我并不想把这个列为它的一个不足,因为广告投放应该借由专业的广告软件来实现,配合以相应的页面脚本等等。不过实在是对helix 有些不满,这么多个版本,对于广告技术基本没有一点改进,所以在这里发发牢骚。
Related posts:
- 单机安装多个Helix Server服务
- 用Sorenson来进行SDP直播发布
- Helix Server使用Flat File型数据库
- 通过POST方式获取Helix Server的在线信息
- 测试了一下Windows Home Server
Tags: Helix Server

