归纳笔记023:流媒体的理论与HLS框架

流媒体

流媒体分为伪流媒体与实时流媒体,以下将做详细介绍:

(1)伪流媒体:又称渐进式下载,介于下载本地播放与实时流媒体之间的一种播放形式,下载本地播放必须全部将文件下载完成后才能播放,而渐进式下载不必等到全部下载完成后再播放,它可以一边下载一边播放,在完成播放内容之后,整个文件会保存在手机上。

(2)实时流媒体:实时流媒体是一边接收数据包一边播放,本地不保留文件副本,实时流式传输总是实时传送,可以实时实况转播,支持随机访问,用户可以快进或者快退以观看前面或后面的内容。实时流媒体传输必须保证数据包的传输速度大于文件的播放速度,否则用户看到的视频会出现暂停。当网络堵塞情况下视频质量会下降,所以要想保证视频的质量渐进式下载会更好一些。

实时流媒体协议包括:

1)           RTSP

2)           MMS

3)           HLS


HLS

HLS简介

HLS(HTTP LiveStreaming)是苹果公司针对iPhone、iPod、iTouch和iPad等移动设备而开发的基于HTTP协议的流媒体解决方案。

技术关键点

(1)采集视频源和音频源的数据

(2)对原始数据进行H264编码和AAC编码

(3)视频和音频数据封装为MPEG-TS包

(4)HLS分段生成策略及m3u8索引文件

(5)HTTP传输协议


 HLS的使用

关于HLS的使用步骤,大致如下:

(1)   搭建HLS流媒体服务器:Apache HTTP Server (苹果自带)。

(2)    打开终端vi /etc/apache2/httpd.conf,在<IfModule mime_module>下添加两行:AddType application/x-mpegURL.M3U8、AddType video/MP2T.ts。

(3)    重启服务器。

(4)    创建工程,引入第三方框架ASIHttpRequest,CocoaHTTPServer,m3u8。

(5)    导入系统框架:libsqlite3.dylib、libz.dylib、libxml2.dylib、CoreTelephony.framework、 SystemConfiguration.framework、MobileCoreServices.framework、 Security.framework、CFNetwork.framework、MediaPlayer.framework。

(6)    在library search path 中添加/usr/include/libxml2。

(7)    添加头文件、声明属性。

(8)    预先播放,先设置服务器,完成后,播放什么的,都是取决于需求。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值