FLV HLS 协议
来源:互联网 发布:水墨风格网站源码 编辑:程序博客网 时间:2024/06/17 07:24
HTTP-FLV
HTTP-FLV,即将音视频数据封装成FLV,然后通过HTTP协议传输给客户端。
这里首先要说一下,HLS其实是一个“文本协议”,而并不是一个流媒体协议。那么,什么样的协议才能称之为流媒体协议呢?
流(stream): 数据在网络上按时间先后次序传输和播放的连续音/视频数据流。之所以可以按照顺序传输和播放连续是因为在类似 RTMP,FLV协议中, 每一个音视频数据都被封装成了包含时间戳信息头的数据包。而当播放器拿到这些数据包解包的时候能够根据时间戳信息把这些音视频数据和之前到达的音视频数据连续起来播放。MP4,MKV等等类似这种封装,必须拿到完整的音视频文件才能播放,因为里面的单个音视频数据块不带有时间戳信息,播放器不能将这些没有时间戳信息数据块连续起来,所以就不能实时的解码播放。
延迟分析
理论上(除去网络延迟外),FLV可以做到仅仅一个音视频tag的延迟。
相比RTMP的优点:
可以在一定程度上避免防火墙的干扰 (例如, 有的机房只允许 80 端口通过)。可以很好的兼容HTTP 302跳转,做到灵活调度。可以使用HTTPS做加密通道。很好的支持移动端(Android,IOS)。
HLS 概述
HLS 全称是 HTTP Live Streaming, 是一个由 Apple 公司实现的基于 HTTP 的媒体流传输协议. 他跟 DASH 协议的原理非常类似. 通过将整条流切割成一个小的可以通过 HTTP 下载的媒体文件, 然后提供一个配套的媒体列表文件, 提供给客户端, 让客户端顺序地拉取这些媒体文件播放, 来实现看上去是在播放一条流的效果.
由于传输层协议只需要标准的 HTTP 协议, HLS 可以方便的透过防火墙或者代理服务器, 而且可以很方便的利用 CDN 进行分发加速, 并且客户端实现起来也很方便.
HLS 目前广泛地应用于点播和直播领域.
在 HTML5 页面上使用 HLS 非常简单:
- FLV HLS 协议
- HLS VS FLV overhead
- HLS协议
- HLS 协议
- HLS 协议
- 用nginx搭建http/rtmp/hls协议的MP4/FLV流媒体服务器
- CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
- CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
- CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具)
- HLS协议实现
- HLS协议实现
- LR模拟HLS协议
- HLS协议相关
- HLS协议解析1
- HLS协议相关知识
- HLS协议实现
- HLS协议详解
- HLS协议的解读
- [Leetcode] 327. Count of Range Sum 解题报告
- 仿射变换导致三角形顶点顺序改变
- cocos2d-x3.2 33种场景切换
- webstorm11--常见配置(二)
- mysql 函数使用
- FLV HLS 协议
- ViewPager,PagerAdapter,FragmentPagerAdapter,FragmentStatePagerAdapter
- 倒计时
- Android使用WiFi adb调试
- 【转】解决Partition table entries are not in disk order 的问题
- 一次与众不同的大型工厂现场调试纪实
- POJ-3270 Cow Sorting(贪心+置换)
- js 数组的内置方法(持续更新)
- url encode