视频监控

  • 视频监控 > 最佳实践 > 低延时实时直播-webrtc接入流程

    低延时实时直播-webrtc接入流程

    最近更新时间:2021-04-21 15:08:16

    webrtc拉流协议介绍

    七牛云视频监控产品(qvs)在现有的3种播放协议(hls, http-flv, rtmp)基础上,拓展了第4种播放协议webrtc。该协议实时延迟可达到500毫秒左右,可以满足客户对低延迟场景的需求

    webrtc拉流播放实现架构

    1_1.png

    核心优势

    • 95%情况下, 实时监控延迟在300-500毫秒区间内

    快速体验

    • 七牛webrtc播放器测试,播放地址填写从qvs获取的webrtc地址

    • webrtc地址如何获取

      • 方式1 通过qvs控制台,点击实时预览页面,会返回webrtc播放地址。
      • 方式2 通过API获取webrtc播放地址
      • 方式3 进入qvs控制台,通过chrome浏览器调试。点击实时预览,从chrome中获取webrtc播放地址。
      • 方式4 自行拼凑一个webrtc地址。
        • 1>如果是动态模式的空间,确保空间内的url鉴权关闭状态。点击实时预览,能看到hls播放地址,把其中的ip提取出来。拼接的形式是
          播放器为http请求:webrtc://ip:1240/空间id/流id
          播放器为https请求:webrtc://ip:447/空间id/流id
        • 2>如果静态模式的空间(采用域名),拼接的形式是
          播放器为http请求:webrtc://域名:1240/空间id/流id
          播放器为https请求:webrtc://域名:447/空间id/流id

    前提限制

    • 需要使用七牛的播放器进行webrtc拉流播放
    • rtmp推流时, 不能含有B帧(webrtc播放不支持B帧),具体情况请参考以下tips
        1. 使用ffmpeg进行rtmp推流时,务必要携带 -bf 0参数, 例如ffmpeg -re -i xxx.mp4 -ccopy -c:v libx264 -bf 0 -f flv ‘rtmp推流地址’
        1. 使用obs推流时, 如下图所示
          obs rtmp推流设置
        1. 小程序rtmp推流不包含B帧,可以跳过该条
        1. 使用七牛安卓/ios推流sdk,可以通过函数设置BaseProfile, 也可以去除B帧
        1. 其他第三方rtmp推流工具/sdk, 可以自行查看文档
        1. 安防行业的摄像头(ipc)或者录像机(nvr),自带的rtmp推流,默认都不包含B帧,可以跳过该条
    • 采用gb28181接入的摄像头(ipc)或者录像机(nvr)注意的情况
      • 1.建议在摄像头的视频参数配置界面。1>设置可变码率 2> I帧间隔 = 帧率 * 2,3>如果需要开启音频, 设置为 g711-alaw, 采样率8K
        gb28181视频设置

    正式接入流程

    体验了以上流程之后,正式接入步骤参考如下

    以上内容是否对您有帮助?
  • Qvm free helper
    Close