美文网首页
mediasoup webrtc 服务端连接使用

mediasoup webrtc 服务端连接使用

作者: FM_1ad7 | 来源:发表于2023-07-12 12:11 被阅读0次

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"
    }
}
d3f532f397fa387dd935a05e5c74950.jpg

相关文章

网友评论

      本文标题:mediasoup webrtc 服务端连接使用

      本文链接:https://www.haomeiwen.com/subject/jmcpudtx.html