• Android IOS WebRTC 音视频开发总结(三一)-- 自定义传输实现一对多


    本文主要介绍基于Webrtc的多人视频会议的简单实现,文章来自博客园RTC.Blacker,支持原创,转载请说明出处。

     

    前面提到基于开源框架的视频会议都存在诸多问题,所以我们通过重写WEBRTC传输模块来实现一个简单的视频会议,效果如下图:

    说明:

    1、画面1、2、3都是其他手机传过来的图像,局域网内有点点卡顿,同时软解3路数据你懂的。

    2、声音比较清晰,服务端没有做混音处理。

     

    实现原理:

    1、服务端是小伙伴用C++配合实现的,主要作用就是信令控制与转发,所以原理没有太多好讲的。

    2、因为有在WEBRTC里面注册自己的传输模块,所以在这个基础上实现多人就很容易了,主要就是让服务端转发的时候知道往哪里转发。

    3、WEBRTC里面有channel机制,每个会话对应一个channel,如果要实现多个会话,就注册多个channel,关键代码如下:

    下面是收到RTP包后通过channel找到对应的transport进行处理

    总结:

    1、通过上面这个demo可以做很多扩展,比如视频直播、在线教学、安防监控。

    2、很多开源框架都是基于这种架构模式,如Licode,jitsi。

    3、这种模式以后结合VP9,H265和SVC会有很好的发展空间,不过需要时间,所以我们会继续关注。

     

    思考:

    1、这种服务端是我之前说的哪种架构模式?

    2、这种模式下怎么处理NACK和RTCP?

     

    欢迎继续关注我的博客,欢迎发邮件交流或回帖探讨~

  • 相关阅读:
    洛谷 P1032 字串变换
    洛谷 P1027 Car的旅行路线
    洛谷 P1024 一元三次方程求解
    洛谷 P1018 乘积最大
    洛谷 P1023 税收与补贴问题
    洛谷 P3456 [POI2007]GRZ-Ridges and Valleys
    洛谷 P1183 多边形的面积
    codeforces 407C Curious Array
    codeforces 12D Ball
    codeforces 388D Fox and Perfect Sets(线性基+数位dp)
  • 原文地址:https://www.cnblogs.com/lingyunhu/p/rtc31.html
Copyright © 2020-2023  润新知