一. 流媒体:
流媒体,又叫流式媒体,是边传边播的媒体,是多媒体的一种。边传边播是指媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看或收听被传输的媒体。“流”媒体的“流”指的是这种媒体的传输方式(流的方式),而并不是指媒体本身。
HLS: 苹果基于HTTP开发的流媒体协议 ,实现过程:
1.首先通过设备采集音视频信息, 视频转换.H264编码的文件,音频转换为.acc格式文件
2.上传给服务器(推流) . HLS真实的文件其实是由很多个xxxx.ts + xxxxx.m3u8
3.服务器会对上传文件进行处理,切割成近10s的多个视频片段,并生成对应的播放列表
4.客户端每一次下载一个10s的小片段,根据播放列表边下边播
xxxx.ts: 切割后的视频片段文件
xxxxx.m3u8: 这是一个地址, 里面记录了服务器所对应的文件,就相当于播放列表
- 流媒体协议:
HLS(苹果针对苹果设备的)
RTMP(Real Time Messaging Protocol(实时消息传输协议))RTMP协议是Adobe的私有协议
MMS(微软出品)
边下边播, 不会保存文件(也可称为实时流媒体)
- 区分: 伪流媒体:
渐进式下载 : 边下边存, 文件会保存
没有使用RTMP, HLS等流媒体协议, (使用了http协议).
也能够实现视频播放, 也能快进快退等, 体验上跟流媒体很像. 优酷, 土豆.这些网址就在使用这项技术.
实现简单, 成本也低, 技术较为成熟
二. 如何播放
- HTTP协议, HLS
-->MPMoviePlayerController / MPMoviePlayerViewController / AVPlayer - RTMP等其他协议时
-->就需要使用第三方(ffmpeg/VLC)
三. 使用第三方ijkplayer --> 封装的ffmpeg
- 支持更多的协议及格式
- 按照第三方集成会很方便
四. 使用第三方SDK
百度/腾讯/网易/直播/流媒体框架