zoukankan      html  css  js  c++  java
  • 视频直播服务支持哪些直播流播放协议?

    视频直播服务支持输出RTMP、FLV、HLS、ARTC四种协议

    • RTMP

      RTMP(Real Time Messaging Protocol,实时消息传送协议)是Adobe公司为Flash播放器和服务器之间音频、视频和数据传输开发的开放协议。

      RTMP协议比较全能,既可以用来推送,又可以用来直播。其核心理念是将大块的视频帧和音频帧“剁碎”,然后以小数据包的形式在互联网上进行传输,且支持加密,因此隐私性相对比较理想,但拆包组包的过程比较复杂,所以在海量并发时容易出现一些不可预期的稳定性问题。

    • FLV

      HTTP-FLV协议由Adobe公司主推。

      格式极其简单,只是在大块的视频帧和音视频头部加入一些标记头信息,由于这种极致的简洁,在延迟表现和大规模并发方面都很成熟。唯一的不足就是在手机浏览器上的支持非常有限,但是用作手机端App直播协议却异常合适。

    • HLS

      HLS是苹果推出的解决方案。

      将视频分成5秒~10秒的视频小分片,然后用m3u8索引表进行管理。由于客户端下载到的视频都是5秒~10秒的完整数据,故视频的流畅性很好,但也同样引入了很大的延迟(HLS的一般延迟在10秒~30秒左右)。相比于FLV、HLS在iPhone和大部分Android手机浏览器上的支持非常足,所以常用于QQ和微信朋友圈的URL分享。

    • ARTC

      ARTC是阿里云提供的低延迟直播RTS(Real-time Streaming)解决方案使用的协议头。

      该方案参考WebRTC交互方式,采用UDP传输协议打造,实现可以承载大规模并发,端到端延时1秒内的低延时直播体验,同时对交互流程做了秒开优化,以及兼容更多的直播音视频特性例如AAC解码、B帧。RTS服务部署于阿里云直播节点,在接入成本、节点覆盖、承载能力上实现了平衡,大幅优化直播体验。

    RTMP、HLS、HTTP-FLV、ARTC协议对比

     
    协议类型 延时 优点 缺点 特点 适合端 场景推荐
    RTMP 1s~3s 延时低
    • 高并发下不稳定
    • iOS平台要开发支持相关协议的播放器
    • 使用非标准TCP端口
    TCP长连接 PC端 实时性要求不高的直播
    FLV 1s~3s
    • 延时低
    • 可通过HTML5解封包播放
    需要集成SDK才能播放 TCP长连接 PC端 实时性要求不高的直播
    HLS >10s
    • iOS、Android和H5原生支持良好
    • 可通过HTML5解封包播放
    延时高 HTTP短连接 PC端、移动端 实时性要求不高的直播;移动端和H5端
    ARTC 1s
    • 超低延时
    • 抗弱网能力强
    H5播放不支持B帧和AAC音频(可通过阿里云RTS转码功能去除B帧并将音频转为Opus) UDP PC端、移动端 实时性要求高的直播,如电商带货、在线教育、社交互动等

    参考资料:https://help.aliyun.com/knowledge_detail/49785.html

    虚心求教
  • 相关阅读:
    PAT 甲级 1126 Eulerian Path (25 分)
    PAT 甲级 1126 Eulerian Path (25 分)
    PAT 甲级 1125 Chain the Ropes (25 分)
    PAT 甲级 1125 Chain the Ropes (25 分)
    PAT 甲级 1124 Raffle for Weibo Followers (20 分)
    PAT 甲级 1124 Raffle for Weibo Followers (20 分)
    PAT 甲级 1131 Subway Map (30 分)
    PAT 甲级 1131 Subway Map (30 分)
    AcWing 906. 区间分组 区间贪心
    AcWing 907. 区间覆盖 区间贪心
  • 原文地址:https://www.cnblogs.com/yangchin9/p/14930874.html
Copyright © 2011-2022 走看看