IOS开发直播客户端的SDK
2016-06-28 16:41
225 查看
HTTP Live Streaming(HLS)是苹果公司(Apple Inc.)实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案。HLS点播,基本上就是常见的分段HTTP点播,不同在于,它的分段非常小。要实现HLS点播,重点在于对媒体文件分段,目前有不少开源工具可以使用,这里我就不再讨论,只谈HLS直播技术。
相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。由此可见,基本上可以认为,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。不过HLS的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议。
RTMP(Real Time Messaging Protocol)
HLS(HTTP Live Streaming) 其中
HTTP Live Streaming(HLS)是苹果公司实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播。原理上是将视频流分片成一系列HTTP下载文件。所以,HLS比RTMP有较高的延迟。
相对于常见的流媒体直播协议,例如RTMP协议、RTSP协议、MMS协议等,HLS直播最大的不同在于,直播客户端获取到的,并不是一个完整的数据流。HLS协议在服务器端将直播数据流存储为连续的、很短时长的媒体文件(MPEG-TS格式),而客户端则不断的下载并播放这些小文件,因为服务器端总是会将最新的直播数据生成新的小文件,这样客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。由此可见,基本上可以认为,HLS是以点播的技术方式来实现直播。由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,客户端可以很快的选择和切换码率,以适应不同带宽条件下的播放。不过HLS的这种技术特点,决定了它的延迟一般总是会高于普通的流媒体直播协议。
RTMP(Real Time Messaging Protocol)
HLS(HTTP Live Streaming) 其中
RTMP是Adobe开发的协议,无法在iPhone中兼容,故目前兼容最好的就是HLS协议了。
HTTP Live Streaming(HLS)是苹果公司实现的基于HTTP的流媒体传输协议,可实现流媒体的直播和点播。原理上是将视频流分片成一系列HTTP下载文件。所以,HLS比RTMP有较高的延迟。
相关文章推荐
- iOS中静态库的介绍及使用(1)
- ios学习路线—ios沙盒(sandbox)机制和文件操作(一)
- iOS 键盘自适应评论cell下方
- iOS PhotoBrowser - ZLThumbnailViewController 获取900张以上图片内存警告闪退的问题
- IOS 高德地图导航
- 你真的了解iOS代理设计模式吗?
- 唐巧总结的40个国人iOS技术博客
- iOS9.2.1降级工具和降级过程
- iOS之获取设备ID
- iOS frame与bounds区别详解
- IOS 8.1.2降级教程
- iOS 圆角跟随屏幕尺寸变化,字体跟随屏幕尺寸变化
- 【原创】NIO框架入门(三):iOS与MINA2、Netty4的跨平台UDP双向通信实战
- 状态栏和导航栏重叠,解决办法
- 在IOS应用中从竖屏模式强制转换为横屏模式
- iOS安全攻防:越狱后Hack必备的命令与工具
- 越狱iOS代码不再支持system()函数的解决方法
- iOS视图控制器转场动画详解
- iOS 项目中添加字体库
- iOS保存图片视频到photoLibrary