licode 的singlepc 模式是怎么回事?

最近在摸索webrtc 单机多流的情况,webrtc给出了标准planb的解决方法,在licode的forum中查找,已经明确表示不支持

https://discourse.lynckia.com/t/typical-questions-for-licode/728

第六条,表示在wip (work in progress)

同时,licode提供了singlepc的模式,链接如下

https://github.com/lynckia/licode/blob/master/feature-review/single-peer-connection.md

看起来好像是单机多流的情况。那么这个singlepc到底怎么回事?

让我们追踪下代码,在licode_config.js配置文件里找到了其配置如下

config.erizoController.allowSinglePC = false;  // default value: false

开启true模式后,首先在erizoController.js文件中查找:

好像没什么用,只是存到了option中。

我有查找了ec这边的代码,基本没啥用,唯一的作用是和option一起在addpublisher  addsubscriber的时候,发送给了ejs那边,

那么ejs 这边的情况如何?

到erizoJSController.js搜索对应函数

发送这个参数被送到了client 中,继续搜索

传进来后,在getOrCreateConnection中用了一下,用了只创建一个connection

那么connection是干什么的?

注意,connection里,有个重要的参数wrtc ,这个对应底层c++的传输底层,到这里,就明白了singlpc的意义了

开始划重点:

当这个参数被设置成true的时候,在客户端一个连接上来后,无论发送多少次的Publishe请求,服务器这边只创建一个wrtc ,就是一个底层连接,通过这种方式,licodce实现了单客户端多流。

如果这个参数没有开启,同时客户端发送多次的publishe请求,服务这边也会创建多个底层连接等着协商,但是客户端因为是单连接,不会进行协商,所以会连接不成功。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值