美文网首页音视频技术视频开发编程世界
从Html5直播到互动直播,看直播协议的选择

从Html5直播到互动直播,看直播协议的选择

作者: 又小拍 | 来源:发表于2017-06-27 15:46 被阅读368次

目前,国内主流的直播协议有HLS、RTMP、HTTP FLV,适用于不同的直播场景。

一、HLS、RTMP与HTTP FLV

1.HLS

HLS 全称是 HTTP Live Streaming, 是一个由 Apple 公司实现的基于 HTTP 的媒体流传输协议. 它跟 DASH 协议的原理非常类似. 通过将整条流切割成一个小的可以通过 HTTP 下载的媒体文件, 然后提供一个配套的媒体列 表文件, 提供给客户端, 让客户端顺序地拉取这些媒体文件播放, 来实现看上去是在播放一条流的效果。


△HLS架构图

HLS 协议基于 HTTP,主要内容是关于 M3U8 这个文本协议的。其实生成和解析都非常简单, HLS 的请求流程是:

  • http 请求 m3u8 的 url。
  • 服务端返回一个 m3u8 的播放列表,这个播放列表是实时更新的,一般一次给出5段数据的 url。
  • 客户端解析 m3u8 的播放列表,再按序请求每一段的 url,获取 ts 数据流。

HLS 的优势

  • 客户端支持简单, 只需要支持 HTTP 请求即可, HTTP 协议无状态, 只需要按顺序下载媒体片段即可.
  • 使用 HTTP 协议网络兼容性好, HTTP 数据包也可以方便地通过防火墙或者代理服务器, CDN 支持良好.
  • Apple 的全系列产品支持, 由于 HLS 是苹果提出的, 所以在 Apple 的全系列产品包括 iphone, ipad, safari 都不需要安装任何插件就可以原生支持播放 HLS, 现在, Android 也加入了对 HLS 的支持.
  • 自带多码率自适应, Apple 在提出 HLS 时, 就已经考虑了码流自适应的问题.

HLS 的劣势

  • 相比 RTMP 这类长连接协议, 延时较高, 难以用到互动直播场景.
  • 对于点播服务来说, 由于 TS 切片通常较小, 海量碎片在文件分发, 一致性缓存, 存储等方面都有较大挑战.

2. RTMP

RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块。RTMP传输媒体数据的过程中,发送端首先把媒体数据封装成消息,然后把消息分割成消息块,最后将分割后的消息块通过TCP协议发送出去。接收端在通过TCP协议收到数据后,首先把消息块重新组合成消息,然后通过对消息进行解封装处理就可以恢复出媒体数据。

RTMP的优势

  • 速度快,误码率低,延迟低
  • RTMP 是专为流媒体服务而生,协议在制定的时候就考虑到很多底层的优化
  • 消息块的传输能够提供更加稳定的直播环境,在硬件上要求会更高,但是却能够缓解http的繁琐的传输介质。
    RTMP的劣势

不支持Html5传播、浏览器推送
基于TCP协议,虽然开发难度大,推广度还不够,对于开发人员来说门槛比较高。
对硬件要求相较于HLS较高

3.HTTP FLV

HTTP FLV是一种将直播流模拟成FLV文件,通过HTTP协议进行下载的模式来实现流媒体传输的协议。

HTTP FLV 结合了 RTMP 的低延时,以及可以复用现有HTTP分发资源的流式协议。它的实时性和RTMP相等,与RTMP相比又省去了部分协议交互时间,首屏时间更短,可拓展的功能也更多。

HTTP FLV的优势

  • 可以在一定程度上避免防火墙的干扰
  • 可以很好的兼容HTTP 302跳转,做到灵活调度
  • 可以使用HTTPS做加密通道
  • 很好的支持移动端(Android,IOS)

二、直播协议HLS、RTMP与HTTP FLV的简单对比

三、总结

RTMP格式目前在国内是用比较多,国内CDN厂商也多支持RTMP协议。HLS作为苹果提出的直播协议,在iOS端占据了不可撼动的地位,同时又便于传播。HTTP FLV使用类似RTMP流式协议的HTTP长连接,需由特定流媒体服务器分发的,兼顾两者的优点。

又拍云一站式直播解决方案基于又拍云CDN,支持 RTMP、HTTP-FLV 和 HLS协议,并且通过智能调度、链路保障、追帧处理、丢帧处理以及业界首创的 HLS+ 技术,将RTMP、HTTP FLV直播延迟控制在1秒内,将HLS协议控制在4秒左右。

推荐阅读:

WebSocket+MSE——HTML5 直播技术解析

让Chrome看不了WWDC直播的HLS技术详解

技术干货|HLS 协议详解及优化技术解析

相关文章

  • 从Html5直播到互动直播,看直播协议的选择

    目前,国内主流的直播协议有HLS、RTMP、HTTP FLV,适用于不同的直播场景。 一、HLS、RTMP与HTT...

  • h5直播项目weLiveShow

    html5直播聊天互动webapp|微直播h5|移动端web直播|html5视频直播 这一两年直播、小视频这些多媒...

  • 第二十五章:旧人

    今晚,抖音直播了一个多小时,偶然发现了,一个粉丝从开播到现在一直关注我看直播,有些惊讶,今晚跟我说了...

  • 鹰眼复盘|找准自己的节奏,前行

    听网课,有了一个相对自由的选择。可以选择听直播,或者听回放。那么如何选择? 可以选择直播,因为直播可以互动,可以紧...

  • 直播系统中有这些变现手段

    看直播是非常受人欢迎的休闲娱乐方式,看直播的时候和主播互动一下,发发礼物打打赏也是很愉快的事,直播用户这么觉得,直...

  • 购物直播发展如何?

    从最初的秀场直播到移动端直播,再到现在的“直播+”模式,直播也是发生了质的变化,如今淘宝、京东、唯品会、聚美等电商...

  • “直播到“直播+”时代的演进”—萤火直播

    2016年,最火的莫过于直播了,如果用一个词或者用一句话来形容直播的话,我只想说红红火火恍恍惚惚,简称就是呵呵呵呵...

  • 万咖视界:传播中国的声音

    国内直播平台的发展经历从秀场直播到游戏直播再到泛娱乐直播的过程,这个更新的过程反映了国内经济的发展,也折射了互联网...

  • 从网络直播到线上教育

    线上教育看起来把教育这件事的效率做了极大提升,原来一个老师对几十个学生,有了网络课程以后,一个老师可以对几千甚至上...

  • 虎牙直播(App)

    App标题:虎牙直播-热门高清游戏互动直播平台(原YY直播) slogan:中国领先的互动直播平台 应用描述: 【...

网友评论

    本文标题:从Html5直播到互动直播,看直播协议的选择

    本文链接:https://www.haomeiwen.com/subject/hxeecxtx.html