在网络上直接看电影已经不是什么新鲜的事情,在iOS等移动设备上也有很多在线视频应用,如国内的PPS和PPLive应用,还有一些新闻视频都可以在线观看,如USA TODY。所以这些在线视频都采用流媒体技术。
网络多媒体文件播放受到网络带宽,文件格式,文件大小等因素的影响,情况变得非常的复杂。为了提高速度,节省带宽,现在的网络多媒体文件的播放都 采用流媒体技术实现播放。广义上讲流媒体技术从传输形式上可以分为:渐进式下载和实时流媒体。
渐进式下载是介于下载本地播放与实进流媒体之间的一种播放方式,下载本地播放必须将文件下载完成后才能播放,而渐进式下载不必等到全部下载完成后再播放,它可以一边下载一边播放,在完成播放内容之后,整个文件会保存在计算机上。
实时流媒体是一边接收数据,一边播放,本地不保留文件副本,数据总是实时传送,可以实现实况转播,支持随机访问,用户可变进或后退观看前面中后面的内容。
实时流媒体网络传输协议有:RTSP,MMS和HLS。RTSP和MMS这些协议在有防火墙时,有时会出现问题,导致用户有些内容无法看到,而且RTSPT和MMS需要购买和配置支持他们的专门服务器。
HLS是苹果公司提出的基于HTTP的流媒体网络传输协议。HLS只请求基于的HTTP报文,与RTSP和MMS不同,HLS可以穿过作何允许HTTP数据通过的防火墙。HLS对于服务器没有特殊要求,只要能够提共HTTP服务就可以了,如Apache,Tomcat和IIS都 可以。
渐进式下载开发,在服务器端和客户端都不需要做太多的工作,服务器端只需要将媒体文件放在服务器目录下就可以了,而客户端,也就是我们在iOS平台上编写的程序。
在众多的实时流媒体技术中,苹果公司的HLS技术是最为先进的,苹果提供给我们的不仅仅是一个HLS技术规范,更重要的是它能够给我们一套流媒体开发和使用的整体解决方案。
HLS流媒体服务器的选择没有什么限制,只需要能够提供HTTP服务的服务器就可以了,我们常用的免费的有Apache和Tomcat等,如果在Windows平台还可以使用IIS服务器。
在iOS设备中的webView内核与Safari一样都采用了WebKit浏览器引擎,他们对于HTML5支持得很好。
参考资料:《iOS图形图像,动画和多媒体编程技术最佳实践》