node 服务端通讯
https://gitee.com/1392492818/mediasoup-server
客户端 vue
https://gitee.com/1392492818/mediasoup-client-vue
Anddroid 端
https://gitee.com/1392492818/mediasoup-android
一、连接地址
ws://192.168.0.131:8888/roomId/:roomId
下面示例 roomId = fm2
连接成功授权返回数据
{"type":"authorization","data":{"peerId":"df9bf510-f4ce-4959-a5ab-d8e72fc04a7f","roomId":"fm2"}}
二、创建producer流程
1、join 加入房间
{
"type": "join",
"data": {
"peerId": "df9bf510-f4ce-4959-a5ab-d8e72fc04a7f",
"roomId": "fm2"
}
}
2、createTransport 创建传输通道
{
"type": "createTransport",
"data": {
"isConsumer": false,
"peerId": "df9bf510-f4ce-4959-a5ab-d8e72fc04a7f",
"roomId": "fm2"
}
}
3、connectTransport 开始连接通道
{
"type": "connectWebRtcTransport",
"data": {
"transportId": "aee458cc-54bd-48c9-a0a9-d9b86f21c197",
"dtlsParameters": {
"role": "client",
"fingerprints": [
{
"algorithm": "sha-256",
"value": "7F:FD:11:53:CF:3E:B1:8F:AB:95:82:5E:C8:9B:81:3D:3A:7F:11:C2:BC:93:57:98:7C:1D:16:78:2F:FB:29:6E"
}
]
},
"isConsumer": false,
"peerId": "df9bf510-f4ce-4959-a5ab-d8e72fc04a7f",
"roomId": "fm2"
}
}
4、producer webrtc createOffer 成功之后,将数据提取发送给 mediasoup,数据开始传输
{
"type": "producer",
"data": {
"transportId": "aee458cc-54bd-48c9-a0a9-d9b86f21c197",
"kind": "video",
"rtpParameters": {
"codecs": [
{
"mimeType": "video/VP8",
"payloadType": 96,
"clockRate": 90000,
"parameters": {},
"rtcpFeedback": [
{
"type": "goog-remb",
"parameter": ""
},
{
"type": "transport-cc",
"parameter": ""
},
{
"type": "ccm",
"parameter": "fir"
},
{
"type": "nack",
"parameter": ""
},
{
"type": "nack",
"parameter": "pli"
}
]
},
{
"mimeType": "video/rtx",
"payloadType": 97,
"clockRate": 90000,
"parameters": {
"apt": 96
},
"rtcpFeedback": []
}
],
"headerExtensions": [
{
"uri": "urn:ietf:params:rtp-hdrext:sdes:mid",
"id": 4,
"encrypt": false,
"direction": "sendrecv",
"parameters": {}
},
{
"uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id",
"id": 10,
"encrypt": false,
"direction": "sendonly",
"parameters": {}
},
{
"uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id",
"id": 11,
"encrypt": false,
"direction": "sendonly",
"parameters": {}
},
{
"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
"id": 2,
"encrypt": false,
"direction": "sendrecv",
"parameters": {}
},
{
"uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
"id": 3,
"encrypt": false,
"direction": "sendrecv",
"parameters": {}
},
{
"uri": "urn:3gpp:video-orientation",
"id": 13,
"encrypt": false,
"direction": "sendrecv",
"parameters": {}
},
{
"uri": "urn:ietf:params:rtp-hdrext:toffset",
"id": 14,
"encrypt": false,
"direction": "sendrecv",
"parameters": {}
}
],
"encodings": [
{
"ssrc": 3578857556,
"rtx": {
"ssrc": 3348474098
},
"dtx": false
}
],
"rtcp": {
"cname": "2ZqE1nqD3+LO/n5F",
"reducedSize": true
},
"mid": "0"
},
"appData": {},
"peerId": "df9bf510-f4ce-4959-a5ab-d8e72fc04a7f",
"roomId": "fm2"
}
}