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

    虚心求教
  • 相关阅读:
    关于指针的定义格式
    C# 调用Qt编写的控件
    Qt中的泛型容器
    Qt之自定义属性Q_PROPERTY
    QT——键盘事件(捕获按键事件)
    Qt 嵌入浏览器 QWebEngineView实现浏览器基本功能
    QT TextEdit 自适应窗口大小,填满窗口 ——基于 函数
    为什么用QWebEngineView开发的浏览器速度很慢
    Qt5.9使用QWebEngineView加载网页速度非常慢,问题解决
    QJson QxORM QtWebApp TreeFrog
  • 原文地址:https://www.cnblogs.com/yangchin9/p/14930874.html
Copyright © 2011-2022 走看看