Intel® Collaboration Suite for WebRTC
Community support and discussions on the Intel® Collaboration Suite for WebRTC (Intel® CS for WebRTC).
1146 Discussions

3.5版本设置不订阅自身画面

Daghe
Beginner
1,146 Views

当我设置MIX为false时,仍显示本地流画面,

  for ( i in conference.localStreams) {
      if (conference.localStreams.hasOwnProperty(i)) {
        if (conference.localStreams.id() === stream.id())
        {
          fromMe = true;
          break;
        }
      }
    }
    if (fromMe) {
        L.Logger.info('stream', stream.id(),
      'is from me; will not be subscribed.');
      return;
    }

 

 

0 Kudos
17 Replies
Qiujiao_W_Intel
Employee
1,146 Views

请问你的目的是什么, 你贴出来的这段代码的意思是如果新来的这路流是本地pub的话就不进行sub, 如果你是不想本地创建的流也不显示的话请参考script2.js文件里Woogeen.LocalStream.create API的回调,localstream创建好之后sample页面就会把本地创建的流显示出来

0 Kudos
Daghe
Beginner
1,146 Views

我就是不想sub本地pub的这路流,但是3.5的版本这段代码不生效,仍sub了本地流,3.4.1的版本是可以的,我看到conference.localStreams的类型发生了变化

0 Kudos
Daghe
Beginner
1,146 Views

感谢你的回复,我的做法是像p2p时设置成两个人只能看到对方的画面,不显示自身的画面,但是3.5的版本这段代码依旧sub了本地流画面

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

Hi, 3.5里localstream的类型有做更改,可以通过以下方式来判断是不是本地流:

调用join的成功回调里会返回自己的id信息保存以下本地id,然后在stream-added event的返回信息里会包含remote stream信息,remotestream里有from属性,通过判断remotestream的from属性跟之前保存的本地id来判断是不是本地流

0 Kudos
Daghe
Beginner
1,146 Views

感谢你的回复

我已经尝试了from属性为resp.self.id  我已经使用如下代码解决此问题

for (var localStream of conference.localStreams) {
          L.Logger.info('localStream11 in conference:',localStream [0]);
        if (localStream 0] === stream.id()) {
          fromMe = true;
          break;
        }
  }

我尝试使用stream.pauseVideo()日志报错 stream.pauseVideo is not a function,文档中没有示例,如何调用?期待您的回复,谢谢!

 

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

pauseVideo是conferenceClient的API,请仔细查看文档,要pause video的stream作为第一个参数传进去
 

void Woogeen.ConferenceClient.pauseVideo ( WoogeenStream  stream,
    function  onSuccess,
    function  onFailure 
  )
 
0 Kudos
Daghe
Beginner
1,146 Views

我尝试了confence.pauseVideo 将订阅过的流停止,仍返回unable to call pauseVideo,

3.5的版本支持录制为MP4功能,在哪可以修改默认的mkv,我尝试之后的mp4文件一直是0字节没有增长

0 Kudos
Daghe
Beginner
1,146 Views

 

mp4功能实现,修改了音频编码,sub是设置了keyFrameInterval为1秒,但是录制下来的视频没有生效gop值较大

pause依旧无法生效,期待回复! 谢谢!

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

目前我们startRecord接口并没有设置keyFrameInterval的参数,这个参数目前只是在subscribe API里加了,所以subscribe设置的keyFrameInterval并不会对record的流生效。

另外pauseVideo的stream参数要传入的是WoogeenStream类型而不是直接传入stream id,请确认代码

0 Kudos
Daghe
Beginner
1,146 Views

感谢回复,录制功能的keyFrameInterval能否加入下个版本? 使用PauseVideo时我传入的参数是WoogeenStream类型,调用的是resp.streams[0],仍旧返回错误unable to call pauseVideo  ,我在尝试3.5版本时发现360浏览器和搜狗浏览器加入不到混合流中,创建流失败create LocalStream failed错误码为1100,使用3.4.1版本时可以正常使用,能给我个示例代码吗。谢谢

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

请问你们record的时候设置keyframInterval的use case是什么,我们需要收集相关需求进行评估,请关注后续发布。

另外你传入pauseVideo的resp.streams[0]是在哪个API的返回信息记录的stream信息, 需要pause的是本地流还是remote 流, 如果pause的是本地流,把Woogeen.LocalStream.create的返回里的stream值记录然后在pauseVideo的时候传进去,这个时候其他用户看到他的流就是pause状态;如果pause的是remote流,这个API也是pause自己已经subscribe的remote流,调用这个API之后不会对其他用户sub的流产生任何影响。请对比这个说明进行合理的API调用

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

另外,目前我们官方支持的浏览器是chrome跟firefox,360浏览器跟搜狗浏览器的问题我们会跟进,请关注后续进展

0 Kudos
Daghe
Beginner
1,146 Views

刚解压安装的3.5版本尝试后firefox加入房间连自己的摄像头画面都没有,firefox的版本试了好几个都不行,3.4.1的版本能够显示,chrome能够正常显示,请帮忙试一下是不是自身环境的问题

startRecord开启录制时,怎么使页面刷新后依旧录制在同一个文件中。尝试之后recorderId是变化的

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

你那边的firefox版本是多少,是用http://ip:3001登陆的还是https://ip:3004进行连接的,如果是用3004连接并且使用的是默认证书,请在firefox中使用F12查看network需要手动允许证书

目前不能刷新之后持续录制到一个文件里,刷新之后用户已经退出,相应的录像也就停止。后续的发布中我们会加入restful API,到时候的接口就能满足刷新之后依旧录制在同一个文件中的需求,请关注后续测试

0 Kudos
Daghe
Beginner
1,146 Views

3.5版本中对浏览器要求更高,Chrome需在59版本以上,Firefox需在50以上,尝试Safari未显示订阅的混合流画面,希望后续版本能够优化

在conference.agent,中agent.toml   【Internal】选项tcp/sctp有何作用,信令传输协议是tcp数据传输是udp在哪可以设置传输的协议

0 Kudos
Daghe
Beginner
1,146 Views

怎么能看到3.4.1的文档,记得3.4.1版本中有setVideoBitrate

0 Kudos
Qiujiao_W_Intel
Employee
1,146 Views

Daghe, 如果有其他的问题请另开一个问题,我们都会进行答复

0 Kudos
Reply