[+] RTP接入

This commit is contained in:
acgist
2023-03-12 17:22:23 +08:00
parent ab8646a21f
commit 72e4b34630
11 changed files with 176 additions and 44 deletions

View File

@@ -452,6 +452,9 @@ class Taoyao {
case "media::transport::close":
this.mediaTransportClose(message, body);
break;
case "media::transport::plain::in":
me.mediaTransportPlainIn(message, body);
break;
case "media::transport::webrtc::connect":
me.mediaTransportWebrtcConnect(message, body);
break;
@@ -1252,6 +1255,36 @@ class Taoyao {
}
}
/**
* 创建RTP输入通道信令
*
* @param {*} message 消息
* @param {*} body 消息主体
*/
async mediaTransportPlainIn(message, body) {
const me = this;
const { roomId, rtcpMux, comedia, clientId } = body;
const plainTransportOptions = {
rtcpMux: rtcpMux,
comedia: comedia,
...config.mediasoup.plainTransportOptions,
};
const room = this.rooms.get(roomId);
const transport = await room.mediasoupRouter.createPlainTransport(plainTransportOptions);
transport.clientId = clientId;
room.transports.set(transport.id, transport);
console.info(transport.tuple)
console.info(transport.rtcpTuple)
message.body = {
ip : transport.tuple.localIp,
port : transport.tuple.localPort,
roomId : roomId,
rtcpPort : transport.rtcpTuple ? transport.rtcpTuple.localPort : undefined,
transportId : transport.id,
};
me.push(message);
}
/**
* 连接WebRTC通道信令
*