jssip开启多人视频会议怎么获取视频流并显示在页面的video上?
使用jssip库搭建音视频对讲时,一对一的音视频通了,但是多人视频会议怎么获取视频流并显示在页面的video上?我目前写的监听:
userAgent.on("newRTCSession", (e) => {
let newsession = e.session
newSession.on("confirmed", (e) => {
const addTrack = (tracks, stream) => {
console.log('tracks', tracks)
console.log('stream', stream)
for (let i = 0; i < tracks.length; i++) {
stream.addTrack(tracks[i].track);
}
}
if(newSession.connection.getSenders()){
console.log('自己的流');
const localVideoStream = new MediaStream();
const localVideo = that.$refs.localVideo
localVideo.srcObject = localVideoStream;
addTrack(newSession.connection.getSenders(), localVideoStream);
localVideo.play();
}
const remoteVideoStream = new MediaStream()
const remoteVideo = that.$refs.remoteVideo
remoteVideo.srcObject = remoteVideoStream
addTrack(newSession.connection.getReceivers(), remoteVideoStream)
remoteVideo.play()
})
});
我现在这样写,当多人进入的时候,别人的视频就都放在一个video标签里了,而且只显示一个,不会把多个人的视频显示出来,需要怎么写呢?有没有大佬知道的赐教赐教所有代码都写在这了
回复
1个回答
test
2024-06-24
解决了,直接上面的写法不变,修改一下freeswitch的配置:1、在default.xml添加:
//123456是会议的房间号,目前是写死,后期需要配置为动态
<extension name="123456">
<condition field="destination_number" expression="^(123456)$">
<action application="sleep" data="500"/>
<action application="conference" data="123456@video-mcu-stereo"/>
</condition>
</extension>
2、在conference.conf.xml添加<param name="video-mode" value="mux"/>
参考文档:https://blog.csdn.net/jia198810/article/details/118070169?ops...
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容