worker(3.12.16)信令

1、worker.createWebRtcServer

worker創(chuàng)建成功之后,每個worker會同時創(chuàng)建一個webrtcServer,
webRtcServer是啟動的流媒體服務(wù),后面的ice連接,及流轉(zhuǎn)發(fā)都使用這個server。
請求:

msg:1:worker.createWebRtcServer::{"listenInfos":[{"protocol":"udp","ip":"192.168.0.100","port":44445},{"protocol":"tcp","ip":"192.168.0.100","port":44445}],"webRtcServerId":"001"}

返回:

{"id":1,"accepted":true}

2、worker.createRouter

創(chuàng)建房間
請求

msg:2:worker.createRouter:req-123:{"routerId":"lsk01"}

返回:

{"id":2,"accepted":true}

3、router.createAudioLevelObserver

用于創(chuàng)建一個音頻電平觀察器(AudioLevelObserver),它能夠監(jiān)控指定房間或傳輸中的音頻流的音量變化。這個功能在需要實時檢測參與者音頻音量時非常有用,比如實現(xiàn)語音激活檢測(VAD)或音量指示器。
主要作用
音量監(jiān)測:實時監(jiān)測音頻流的音量變化。
語音激活檢測:通過音量變化判斷用戶是否在說話。
音量指示器:在UI中顯示用戶的實時音量。
使用場景
語音激活檢測:判斷用戶是否在說話。
音量顯示:在UI中展示用戶的實時音量。
自動混音:根據(jù)音量自動調(diào)整混音策略。
請求:

msg:3:router.createAudioLevelObserver:lsk01:{"rtpObserverId":"DNPkNOhKVB","maxEntries":1,"threshold":-80,"interval":800}

返回:

{"id":3,"accepted":true}

4、router.createActiveSpeakerObserver

用于創(chuàng)建一個 活躍說話者觀察器(Active Speaker Observer)。它的作用是實時檢測當前房間或路由器(router)中誰正在說話(即誰的音頻音量最高),并將活躍說話者的信息通知給應(yīng)用程序。
檢測活躍說話者:
實時檢測當前誰在說話(基于音頻音量)。
適用于多人會議或語音聊天場景。
通知應(yīng)用程序:
當活躍說話者發(fā)生變化時,觸發(fā)事件通知應(yīng)用程序。
優(yōu)化用戶體驗:
可以用于 UI 顯示當前說話者,或者動態(tài)調(diào)整音頻流的優(yōu)先級。
請求:

msg:4:router.createActiveSpeakerObserver:lsk01:{"rtpObserverId":"ZtWaMvYoLl","interval":300}

返回:

{"id":4,"accepted":true}

5、router.createWebRtcTransportWithServer

請求:
msg:5:router.createWebRtcTransportWithServer:lsk01:{"transportId":"MhjAUjCtUp","listenIps":[{"ip":"192.168.0.100"}

返回:

{
    "accepted": true,
    "data": {
        "consumerIds": [

        ],
        "dataConsumerIds": [

        ],
        "dataProducerIds": [

        ],
        "direct": false,
        "dtlsParameters": {
            "fingerprints": [
                {
                    "algorithm": "sha-512",
                    "value": "1B:E8:8F:A5:3D:C4:1F:FA:49:19:89:5F:AD:EE:98:67:1F:B1:6F:53:28:D0:2C:77:72:CB:30:E0:DC:1D:3A:10:90:DC:54:56:E4:EC:AC:B5:39:C6:8A:7D:E9:45:D4:24:14:3C:48:4C:F3:CD:0D:12:E4:40:47:FC:C7:67:61:FC"
                },
                {
                    "algorithm": "sha-224",
                    "value": "15:83:C7:4C:C0:86:0D:F3:E0:DE:C4:6F:E3:1D:DA:B4:46:4C:B3:7C:1E:6B:C8:15:CF:CC:71:3C"
                },
                {
                    "algorithm": "sha-256",
                    "value": "1A:EE:B5:B7:F9:E1:75:BC:29:33:41:ED:21:FC:FC:B0:74:6D:8A:27:92:55:EF:75:C0:7F:EF:A9:B6:F3:47:5C"
                },
                {
                    "algorithm": "sha-1",
                    "value": "85:28:27:51:DB:3C:6F:0C:11:64:5C:9F:F2:3D:B7:1C:AB:9D:C8:5F"
                },
                {
                    "algorithm": "sha-384",
                    "value": "EA:52:8E:62:C5:77:88:B2:85:DC:AD:19:55:87:FC:DE:C6:09:FA:CE:43:B5:A5:47:7E:93:2F:CA:9C:33:F8:BC:BB:C5:1C:10:F7:F1:BC:AC:EF:DF:A7:50:B0:33:CC:27"
                }
            ],
            "role": "auto"
        },
        "dtlsState": "new",
        "iceCandidates": [
            {
                "foundation": "udpcandidate",
                "ip": "192.168.0.100",
                "port": 44445,
                "priority": 1076302079,
                "protocol": "udp",
                "type": "host"
            }
        ],
        "iceParameters": {
            "iceLite": true,
            "password": "pcjdiw2gfwhahd5wa1wa35jxstub2u6p",
            "usernameFragment": "bi1zomcqpqjknj7esfq8dflbu38tss8z"
        },
        "iceRole": "controlled",
        "iceState": "new",
        "id": "MhjAUjCtUp",
        "mapRtxSsrcConsumerId": {

        },
        "mapSsrcConsumerId": {

        },
        "maxMessageSize": 262144,
        "producerIds": [

        ],
        "recvRtpHeaderExtensions": {

        },
        "rtpListener": {
            "midTable": {

            },
            "ridTable": {

            },
            "ssrcTable": {

            }
        },
        "sctpListener": {
            "streamIdTable": {

            }
        },
        "sctpParameters": {
            "MIS": 1024,
            "OS": 1024,
            "isDataChannel": true,
            "maxMessageSize": 262144,
            "port": 5000,
            "sctpBufferedAmount": 0,
            "sendBufferSize": 262144
        },
        "sctpState": "new",
        "traceEventTypes": ""
    },
    "id": 5
}

6、transport.enableTraceEvent

請求:

msg:6:transport.enableTraceEvent:MhjAUjCtUp:{"types":["bwe"]}

返回:

{"id":6,"accepted":true}

7、transport.setMaxIncomingBitrate

請求:

msg:7:transport.setMaxIncomingBitrate:MhjAUjCtUp:{"bitrate":1500000}

返回:

{"id":7,"accepted":true}

8、transport.connect

webrtcTransport
注意請求參數(shù)中的dtlsParameters是本端的sdp中的參數(shù)。
也就是在產(chǎn)生本地的sdp之后,將sdp中的fingerprints提取出來,請求該接口。

mediasoup-client-3

請求:

msg:8:transport.connect:MhjAUjCtUp:{"dtlsParameters":{"fingerprints": [{"algorithm":"sha-256","value":"6E:01:6A:D2:5B:71:A5:58:25:FC:41:19:A0:2E:D1:62:FF:65:7F:0F:A7:4B:A6:E3:15:7A:6E:58:5E:80:9B:78"}],"role":"auto"}}

返回:

{"accepted":true,"data":{"dtlsLocalRole":"client"},"id":8}  

19、router.createWebRtcTransportWithServer

請求:

msg:19:router.createWebRtcTransportWithServer:lsk01:{"transportId":"shjoysWccg","listenIps":[{"ip":"192.168.0.100"}],"webRtcServerId":"001","enableUdp":true,"enableTcp":false,"preferUdp":false,"preferTcp":false,"initialAvailableOutgoingBitrate":1000000,"enableSctp":true,"numSctpStreams":{"OS":1024,"MIS":1024},"maxSctpMessageSize":262144,"sctpSendBufferSize":262144,"isDataChannel":true}

返回:

{
    "accepted": true,
    "data": {
        "consumerIds": [

        ],
        "dataConsumerIds": [

        ],
        "dataProducerIds": [

        ],
        "direct": false,
        "dtlsParameters": {
            "fingerprints": [
                {
                    "algorithm": "sha-512",
                    "value": "1B:E8:8F:A5:3D:C4:1F:FA:49:19:89:5F:AD:EE:98:67:1F:B1:6F:53:28:D0:2C:77:72:CB:30:E0:DC:1D:3A:10:90:DC:54:56:E4:EC:AC:B5:39:C6:8A:7D:E9:45:D4:24:14:3C:48:4C:F3:CD:0D:12:E4:40:47:FC:C7:67:61:FC"
                },
                {
                    "algorithm": "sha-224",
                    "value": "15:83:C7:4C:C0:86:0D:F3:E0:DE:C4:6F:E3:1D:DA:B4:46:4C:B3:7C:1E:6B:C8:15:CF:CC:71:3C"
                },
                {
                    "algorithm": "sha-256",
                    "value": "1A:EE:B5:B7:F9:E1:75:BC:29:33:41:ED:21:FC:FC:B0:74:6D:8A:27:92:55:EF:75:C0:7F:EF:A9:B6:F3:47:5C"
                },
                {
                    "algorithm": "sha-1",
                    "value": "85:28:27:51:DB:3C:6F:0C:11:64:5C:9F:F2:3D:B7:1C:AB:9D:C8:5F"
                },
                {
                    "algorithm": "sha-384",
                    "value": "EA:52:8E:62:C5:77:88:B2:85:DC:AD:19:55:87:FC:DE:C6:09:FA:CE:43:B5:A5:47:7E:93:2F:CA:9C:33:F8:BC:BB:C5:1C:10:F7:F1:BC:AC:EF:DF:A7:50:B0:33:CC:27"
                }
            ],
            "role": "auto"
        },
        "dtlsState": "new",
        "iceCandidates": [
            {
                "foundation": "udpcandidate",
                "ip": "192.168.0.100",
                "port": 44445,
                "priority": 1076302079,
                "protocol": "udp",
                "type": "host"
            }
        ],
        "iceParameters": {
            "iceLite": true,
            "password": "05yhtloi90az5vt4pyz2amlvap70io6h",
            "usernameFragment": "izgjzbmo3ikd7pf6r49s8cf907lmomw7"
        },
        "iceRole": "controlled",
        "iceState": "new",
        "id": "shjoysWccg",
        "mapRtxSsrcConsumerId": {

        },
        "mapSsrcConsumerId": {

        },
        "maxMessageSize": 262144,
        "producerIds": [

        ],
        "recvRtpHeaderExtensions": {

        },
        "rtpListener": {
            "midTable": {

            },
            "ridTable": {

            },
            "ssrcTable": {

            }
        },
        "sctpListener": {
            "streamIdTable": {

            }
        },
        "sctpParameters": {
            "MIS": 1024,
            "OS": 1024,
            "isDataChannel": true,
            "maxMessageSize": 262144,
            "port": 5000,
            "sctpBufferedAmount": 0,
            "sendBufferSize": 262144
        },
        "sctpState": "new",
        "traceEventTypes": ""
    },
    "id": 19
}

20 ## 消費transport.enableTraceEvent

請求:

msg:20:transport.enableTraceEvent:shjoysWccg:{"types":["bwe"]}

返回

{"id":20,"accepted":true}

21 transport.setMaxIncomingBitrate

請求:

msg:21:transport.setMaxIncomingBitrate:shjoysWccg:{"bitrate":1500000}

返回:

{"id":21,"accepted":true}

22 transport.connect

請求:

msg:25:transport.connect:shjoysWccg:{"dtlsParameters":{"fingerprints": [{"algorithm":"sha-256","value":"40:4B:19:9D:B6:F1:0E:6B:B8:F5:C7:03:C6:25:26:9A:83:A1:C0:9D:EB:2E:5D:0A:C0:49:BB:8A:3E:F0:44:D6"}],"role":"client"}}

返回:

{"accepted":true,"data":{"dtlsLocalRole":"server"},"id":25}

26 transport.consume

請求:

msg:26:transport.consume:shjoysWccg:{"consumableRtpEncodings":[{"ssrc":2065150082}],"consumerId":"ihQMSQyBbk","ignoreDtx":false,"kind":"audio","paused":true,"producerId":"ahbUMWpfdN","rtpParameters":{"mid":"0","codecs":[{"mimeType":"audio/opus","payloadType":100,"clockRate":48000,"channels":2,"parameters":{"minptime":10,"sprop-stereo":1,"usedtx":1,"useinbandfec":1},"rtcpFeedback":[{"type":"transport-cc"},{"type":"nack"}]}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:sdes:mid","id":4,"encrypt":false,"parameters":null},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time","id":2,"encrypt":false,"parameters":null},{"uri":"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01","id":3,"encrypt":false,"parameters":null},{"uri":"urn:ietf:params:rtp-hdrext:ssrc-audio-level","id":1,"encrypt":false,"parameters":null}],"encodings":[{"ssrc":2065150085,"dtx":false}],"rtcp":{"cname":"audio-01","reducedSize":true,"mux":true}},"type":"simple"}

返回:

{"accepted":true,"data":{"paused":true,"producerPaused":false,"score":{"producerScore":10,"producerScores":[10],"score":10}},"id":26}

27 consumer.resume

請求:

msg:27:consumer.resume:ihQMSQyBbk:{}

返回:

{"id":27,"accepted":true}

30 transport.consume

請求:

msg:30:transport.consume:shjoysWccg:{"consumableRtpEncodings":[{"ssrc":3309578150}],"consumerId":"ADMmCCvQoF","ignoreDtx":false,"kind":"video","paused":true,"producerId":"qJkJjBiFNh","rtpParameters":{"mid":"1","codecs":[{"mimeType":"video/VP8","payloadType":101,"clockRate":90000,"rtcpFeedback":[{"type":"goog-remb"},{"type":"transport-cc"},{"type":"ccm","parameter":"fir"},{"type":"nack"},{"type":"nack","parameter":"pli"}]},{"mimeType":"video/rtx","payloadType":102,"clockRate":90000,"parameters":{"apt":101}}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:sdes:mid","id":4,"encrypt":false,"parameters":null},{"uri":"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id","id":10,"encrypt":false,"parameters":null},{"uri":"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id","id":11,"encrypt":false,"parameters":null},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time","id":2,"encrypt":false,"parameters":null},{"uri":"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01","id":3,"encrypt":false,"parameters":null},{"uri":"urn:3gpp:video-orientation","id":13,"encrypt":false,"parameters":null},{"uri":"urn:ietf:params:rtp-hdrext:toffset","id":14,"encrypt":false,"parameters":null}],"encodings":[{"ssrc":3309578154,"dtx":false,"rtx":{"ssrc":553570782}}],"rtcp":{"cname":"video-01","reducedSize":true,"mux":true}},"type":"simple"}

返回:

{"accepted":true,"data":{"paused":true,"producerPaused":false,"score":{"producerScore":10,"producerScores":[10],"score":10}},"id":30}

31 consumer.resume

請求:

msg:31:consumer.resume:ADMmCCvQoF:{}

返回:

{"id":31,"accepted":true}

聯(lián)通之后

image.png

級聯(lián)信令

1:worker.createRouter:undefined:{"routerId":"room_01"}
2:router.createPipeTransport:room_01:{"transportId":"pipe-01","listenIp":{"ip":"127.0.0.1"},"enableSctp":false,"numSctpStreams":{"OS":1024,"MIS":1024},"maxSctpMessageSize":268435456,"sctpSendBufferSize":268435456,"isDataChannel":false,"enableRtx":false,"enableSrtp":false}
3:transport.connect:pipe-01:{"ip":"127.0.0.1","port":20616}
4:router.createWebRtcTransport:room_01:{"transportId":"a91bf3e6-eb62-4f79-a802-91f9b7580de2","listenIps":[{"ip":"127.0.0.1"}],"enableUdp":true,"enableTcp":true,"preferUdp":true,"preferTcp":false,"initialAvailableOutgoingBitrate":1000000,"enableSctp":false,"numSctpStreams":{"OS":1024,"MIS":1024},"maxSctpMessageSize":262144,"sctpSendBufferSize":262144,"isDataChannel":true}
5:transport.connect:a91bf3e6-eb62-4f79-a802-91f9b7580de2:{"dtlsParameters":{"role":"server","fingerprints":[{"algorithm":"sha-256","value":"18:E0:47:98:51:BD:30:82:41:9E:8B:5B:C8:91:60:58:F3:AC:AD:3F:E0:6D:31:71:2E:51:CA:A3:27:44:52:52"}]}}

6:transport.produce:a91bf3e6-eb62-4f79-a802-91f9b7580de2:{"producerId":"produce_video","kind":"video","rtpParameters":{"mid":"0","codecs":[{"mimeType":"video/VP8","clockRate":90000,"payloadType":96,"rtcpFeedback":[{"type":"goog-remb","parameter":""},{"type":"transport-cc","parameter":""},{"type":"ccm","parameter":"fir"},{"type":"nack","parameter":""},{"type":"nack","parameter":"pli"}],"parameters":{}},{"mimeType":"video/rtx","clockRate":90000,"payloadType":97,"rtcpFeedback":[],"parameters":{"apt":96}}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:sdes:mid","id":4,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id","id":10,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id","id":11,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time","id":2,"encrypt":false,"parameters":{}},{"uri":"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01","id":3,"encrypt":false,"parameters":{}},{"uri":"urn:3gpp:video-orientation","id":13,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:toffset","id":14,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":3594988483,"rtx":{"ssrc":3492272171},"dtx":false}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true}},"rtpMapping":{"codecs":[{"payloadType":96,"mappedPayloadType":101},{"payloadType":97,"mappedPayloadType":102}],"encodings":[{"mappedSsrc":591203777,"ssrc":3594988483}]},"paused":false}
7:transport.consume:pipe-01:{"consumerId":"bf3d34db-8569-44c7-89d1-8a4b9ae5e26d","producerId":"produce_video","kind":"video","rtpParameters":{"codecs":[{"mimeType":"video/VP8","payloadType":101,"clockRate":90000,"parameters":{},"rtcpFeedback":[{"type":"nack","parameter":"pli"},{"type":"ccm","parameter":"fir"}]}],"headerExtensions":[{"uri":"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07","id":6,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:framemarking","id":7,"encrypt":false,"parameters":{}},{"uri":"urn:3gpp:video-orientation","id":11,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:toffset","id":12,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time","id":13,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":376083759,"dtx":false}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true,"mux":true}},"type":"pipe","consumableRtpEncodings":[{"ssrc":591203777,"dtx":false}]}

8:transport.produce:a91bf3e6-eb62-4f79-a802-91f9b7580de2:{"producerId":"produce_audio","kind":"audio","rtpParameters":{"mid":"1","codecs":[{"mimeType":"audio/opus","clockRate":48000,"payloadType":111,"channels":2,"rtcpFeedback":[{"type":"transport-cc","parameter":""}],"parameters":{"minptime":10,"useinbandfec":1}}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:sdes:mid","id":4,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time","id":2,"encrypt":false,"parameters":{}},{"uri":"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01","id":3,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:ssrc-audio-level","id":1,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":3794159957,"dtx":false}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true}},"rtpMapping":{"codecs":[{"payloadType":111,"mappedPayloadType":100}],"encodings":[{"mappedSsrc":260573654,"ssrc":3794159957}]},"paused":false}
9:transport.consume:pipe-01:{"consumerId":"47728e42-ab7b-4721-9005-985d04ab5a2b","producerId":"produce_audio","kind":"audio","rtpParameters":{"codecs":[{"mimeType":"audio/opus","payloadType":100,"clockRate":48000,"channels":2,"parameters":{"minptime":10,"useinbandfec":1},"rtcpFeedback":[]}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:ssrc-audio-level","id":10,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time","id":13,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":521751636,"dtx":false}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true,"mux":true}},"type":"pipe","consumableRtpEncodings":[{"ssrc":260573654,"dtx":false}]}



1:worker.createRouter:undefined:{"routerId":"room_02"}
2:router.createPipeTransport:room_02:{"transportId":"pipe-02","listenIp":{"ip":"127.0.0.1"},"enableSctp":false,"numSctpStreams":{"OS":1024,"MIS":1024},"maxSctpMessageSize":268435456,"sctpSendBufferSize":268435456,"isDataChannel":false,"enableRtx":false,"enableSrtp":false}
3:transport.connect:pipe-02:{"ip":"127.0.0.1","port":34536}
4:transport.produce:pipe-02:{"producerId":"produce_video","kind":"video","rtpParameters":{"codecs":[{"mimeType":"video/VP8","payloadType":101,"clockRate":90000,"parameters":{},"rtcpFeedback":[{"type":"nack","parameter":"pli"},{"type":"ccm","parameter":"fir"}]}],"headerExtensions":[{"uri":"http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07","id":6,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:framemarking","id":7,"encrypt":false,"parameters":{}},{"uri":"urn:3gpp:video-orientation","id":11,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:toffset","id":12,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time","id":13,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":376083759,"dtx":false}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true,"mux":true}},"rtpMapping":{"codecs":[{"payloadType":101,"mappedPayloadType":101}],"encodings":[{"mappedSsrc":434375896,"ssrc":376083759}]},"paused":false}
5:transport.produce:pipe-02:{"producerId":"produce_audio","kind":"audio","rtpParameters":{"codecs":[{"mimeType":"audio/opus","payloadType":100,"clockRate":48000,"channels":2,"parameters":{"minptime":10,"useinbandfec":1},"rtcpFeedback":[]}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:ssrc-audio-level","id":10,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-capture-time","id":13,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":521751636,"dtx":false}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true,"mux":true}},"rtpMapping":{"codecs":[{"payloadType":100,"mappedPayloadType":100}],"encodings":[{"mappedSsrc":793331030,"ssrc":521751636}]},"paused":false}
6:router.createWebRtcTransport:room_02:{"transportId":"903889d1-fa58-47ec-98fb-ccb378d1117e","listenIps":[{"ip":"127.0.0.1"}],"enableUdp":true,"enableTcp":true,"preferUdp":true,"preferTcp":false,"initialAvailableOutgoingBitrate":1000000,"enableSctp":false,"numSctpStreams":{"OS":1024,"MIS":1024},"maxSctpMessageSize":262144,"sctpSendBufferSize":262144,"isDataChannel":true}
7:transport.consume:903889d1-fa58-47ec-98fb-ccb378d1117e:{"consumerId":"62652d98-3ee5-4c21-8fa4-34baa14b35d7","producerId":"produce_video","kind":"video","rtpParameters":{"codecs":[{"mimeType":"video/VP8","payloadType":101,"clockRate":90000,"parameters":{},"rtcpFeedback":[{"type":"transport-cc","parameter":""},{"type":"ccm","parameter":"fir"},{"type":"nack","parameter":""},{"type":"nack","parameter":"pli"}]},{"mimeType":"video/rtx","payloadType":102,"clockRate":90000,"parameters":{"apt":101},"rtcpFeedback":[]}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:sdes:mid","id":1,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time","id":4,"encrypt":false,"parameters":{}},{"uri":"http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01","id":5,"encrypt":false,"parameters":{}},{"uri":"urn:3gpp:video-orientation","id":11,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:toffset","id":12,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":800779023,"rtx":{"ssrc":800779024}}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true,"mux":true},"mid":"0"},"type":"simple","consumableRtpEncodings":[{"ssrc":434375896,"dtx":false}],"paused":true,"ignoreDtx":false}
8:transport.connect:903889d1-fa58-47ec-98fb-ccb378d1117e:{"dtlsParameters":{"role":"client","fingerprints":[{"algorithm":"sha-256","value":"98:F1:DA:87:3B:59:06:CA:D8:39:C3:E6:5A:37:7A:87:C6:42:82:56:FD:3E:45:74:FC:6A:75:E5:4A:90:2F:F5"}]}}
9:consumer.resume:62652d98-3ee5-4c21-8fa4-34baa14b35d7:undefinedarameters
10:transport.consume:903889d1-fa58-47ec-98fb-ccb378d1117e:{"consumerId":"2187aa48-996f-4de8-8798-b7d00c56c227","producerId":"produce_audio","kind":"audio","rtpParameters":{"codecs":[{"mimeType":"audio/opus","payloadType":100,"clockRate":48000,"channels":2,"parameters":{"minptime":10,"useinbandfec":1},"rtcpFeedback":[]}],"headerExtensions":[{"uri":"urn:ietf:params:rtp-hdrext:sdes:mid","id":1,"encrypt":false,"parameters":{}},{"uri":"http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time","id":4,"encrypt":false,"parameters":{}},{"uri":"urn:ietf:params:rtp-hdrext:ssrc-audio-level","id":10,"encrypt":false,"parameters":{}}],"encodings":[{"ssrc":592158292}],"rtcp":{"cname":"eks80YQXECwcuNgX","reducedSize":true,"mux":true},"mid":"1"},"type":"simple","consumableRtpEncodings":[{"ssrc":793331030,"dtx":false}],"paused":false,"ignoreDtx":false}

代碼

代碼中的mediasoup-worker是在mac m芯片上編譯的,其他系統(tǒng)或版本的需要去官網(wǎng)下載3.12.16版本編譯,僅供學(xué)習(xí),https://github.com/lsk-gith/mediasoup-go.git

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vue2 的雙向數(shù)據(jù)綁定是利用ES5 的一個 API[https://so.csdn.net/so/search?...
    Aven丶閱讀 528評論 0 0
  • 1、前言 最近做的項目出現(xiàn)了界面卡頓的問題,經(jīng)過一番排查,發(fā)現(xiàn)是因為有個數(shù)據(jù)做了一些格式化和生成轉(zhuǎn)換,本來只有 1...
    鵬多多閱讀 1,333評論 0 0
  • 客戶端渲染(首屏在1.6s時出現(xiàn)) 服務(wù)端渲染(首屏在400ms時出現(xiàn)) 當頁面加載的 js 和 css 更多更大...
    努力學(xué)習(xí)的小丸子閱讀 1,099評論 0 0
  • 簡介 Vue Router[https://next.router.vuejs.org/] 是 Vue[https...
    Whyn閱讀 2,743評論 0 1
  • 1. Vue3簡介 2020年9月18日,Vue.js發(fā)布版3.0版本,代號:One Piece(n 經(jīng)歷了:48...
    洪錦一閱讀 415評論 0 0

友情鏈接更多精彩內(nèi)容