论文部分内容阅读
早期的移动互联网只能实现简单的应用,如文字浏览,收发E-mail等,但近几年来,伴随着以智能手机,平板电脑为代表的移动智能设备的飞速发展以及人们对移动互联网应用需求的增加,许多以往只能在桌面PC上实现的功能也逐渐在移动平台得到了应用,流媒体便是其中之一。移动流媒体由于实现平台的特殊性,要获得良好的用户体验,并不能直接照搬桌面端的实现方案,而是需要针对移动平台的特性进行设计和优化。本论文便针对这一课题,在目前较为主流的移动智能平台iOS上,设计并实现一整套流媒体播放系统。由于移动流媒体应用范围较广,而不同的应用场景也提出了不同的需求,所以针对不同的应用场景,本文采用了不同的实现方案,这些应用场景及其相应的实现方案包括以下三个方面:(1)针对实时视频直播(应用于视频监控,视频聊天等场合),采用了实时的流媒体播放协议RTSP/RTCP/RTP搭建了实时播放系统。服务器端采用了能实时编码RTSP视频流的IP Camera网络摄像头,iOS播放器端则采用了FFmpeg库进行解码播放。(2)针对非实时视频直播(应用于网络电视直播等场合),采用了HLS(HTTP Live Streaming)协议搭建了一套非实时直播系统。服务器端采用了Flash Media Live Encoder(用于视频编码)和Flash Media Server(用于视频发布)搭建,iOS客户端则采用苹果自带的MediaPlayer框架进行解码。(3)针对视频点播,采用了HLS协议搭建了一套定时采集监控视频以及提供视频点播的系统。服务器端采用FFmpeg(用于定时采集监控视频及编码),Media File Segmenter(用于视频分割及索引文件的生成)以及Apache Web服务器(用于视频发布)搭建,iOS客户端则采用苹果自带的MediaPlayer框架进行解码。此外,除了实现基本的播放功能,本文也尝试充分利用iOS移动设备具备的特性,对播放系统的功能进行扩展,以实现传统PC端不具备的功能。这些功能包括触摸云台操控,AirPlay等。