资讯专栏INFORMATION COLUMN

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

xzavier / 629人阅读

摘要:目前,国内主流的直播协议有,适用于不同的直播场景。协议基于,主要内容是关于这个文本协议的。协议中基本的数据单元称为消息。作为苹果提出的直播协议,在端占据了不可撼动的地位,同时又便于传播。

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

一、HLS、RTMP与HTTP FLV 1.HLS

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

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 协议详解及优化技术解析

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/60159.html

相关文章

  • 直播卡顿原因详解及优化

    摘要:究竟是哪些原因造成了视频直播观看的卡顿情况呢又拍直播云结合实践经验,从设备视频流网络这三方面进行解剖分析造成直播卡顿的问题及其解决方法。视频直播卡顿原因造成直播视频卡顿的原因主要有设备视频流网络这三方面的问题。 随着视频直播的发展,很多直播团队可能会遇到视频直播卡顿,频繁出现缓冲标志或者直播画面一卡一卡等情况。究竟是哪些原因造成了视频直播观看的卡顿情况呢?又拍直播云结合实践经验,从设备...

    cuieney 评论0 收藏0
  • 【腾讯Bugly干货分享】01打造直播 App

    摘要:流媒体服务器端用来接受视频录制端提供的视频源,同时提供给视频播放端流服务。支持该协议即,是由苹果提出基于的流媒体传输协议。更多配置可以参考下面是的配置文件腾讯云直播后台主要是调用腾讯云。 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d... 作者:李智文 概要 分享内容: 互联网内容载体变迁历程,文字——...

    Ku_Andrew 评论0 收藏0
  • TOP100summit:【分享实录-QQ空间】10亿级直播背后技术优化

    摘要:通过统计发现主播短帧率很低,画面不连续,主观感觉卡另外,用户使用设备中也有大量的低端机。通过分析发现帧率低的主要原因是单帧图像处理耗时过长导致,而编码所占因素较低。 本篇文章内容来自2016年TOP100summit QQ空间客户端研发总监王辉的案例分享。编辑:Cynthia 王辉:腾讯SNG社交平台部研发总监、腾讯QQ空间移动客户端技术负责人高级工程师。09年起负责QQ空间技术研发,...

    fyber 评论0 收藏0
  • 无连麦,不直播,都在说直播利器连麦互动底是啥?

    摘要:又拍云连麦互动直播方案架构图连麦互动直播方案有两点优势主播和连麦观众使用了实时音视频来进行连麦互动,实时性高,观众看到的合成画面里主播和观众的互动也是同步实时的,保证延时小,减少带宽压力。 在2016年的互联网关键词中,「直播」毫无疑问排在前列。从年中开始,直播便接替短视频成为新的大流量入口。参与直播的人,也从网红逐渐扩大到全民,内容也从最初的单一娱乐向更多元化的方向发展。 直播被普遍...

    马龙驹 评论0 收藏0
  • 小程序直播连麦技术实现与解析

    摘要:微信在去年年底开放了小程序直播接口。基于声网的小程序直播互动连麦方案开发的小程序,在的低延时实时网络环境下可实现与其它平台的无缝互通。 微信在去年年底开放了小程序直播接口。小程序从仅适用于阅读、生活服务、工具等应用的流量入口,成为了许多音视频应用的又一个新平台。新功能的开放让更多应用可以利用微信的熟人社交链为应用快速拉新,提供便捷的增值服务,或加速应用变现。我们的客户,荔枝 FM 就在...

    xiaoxiaozi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<