广义上讲流媒体技术从传输形式上可以分为:渐进式下载和实时流媒体。
渐进式下载
不必等到全部下载完成后就可以播放,一边下载一边播放,完成播放后,整个文件会保存在计算机上。
实时流媒体
一边接收数据包一边播放,本地不保留文件副本,可以实现实况转播。
网络传输协议有:RTSP、MMS、HLS。HLS的通用性最强。
渐进式下载开发
服务端只需要把媒体文件放在服务器目录下。
iOS端和在本地播放没有什么区别,可以使用MediaPlayer框架中DeMPMoviePlayerController和MPMoviePlayerViewController,也可以使用AVFoundation框架中的AVPlayer。
MacOSX系统下都有一个Apache HTTP服务器,我们可以把媒体文件放到Apache服务器目录下:
利用我们前面提到的本地播放视频的例子,只需要更改获取URL的地方:
-(NSURL *)p_movieURL
{
NSURL *url = [NSURL URLWithString:@"http://localhost/stream/YY.mp4"];
return url;
}