mediasoup json 通信协议3-android和room.js信令

一端和服务器通信:

{
	"request": true,
	"method": "getRouterRtpCapabilities",
	"id": 7244185,
	"data": {}
}

{
	"response": true,
	"id": 7244185,
	"ok": true,
	"data": {
		"codecs": [{
			"kind": "audio",
			"mimeType": "audio/opus",
			"clockRate": 48000,
			"channels": 2,
			"rtcpFeedback": [{
				"type": "transport-cc",
				"parameter": ""
			}],
			"parameters": {},
			"preferredPayloadType": 100
		}, {
			"kind": "video",
			"mimeType": "video/VP8",
			"clockRate": 90000,
			"rtcpFeedback": [{
				"type": "nack",
				"parameter": ""
			}, {
				"type": "nack",
				"parameter": "pli"
			}, {
				"type": "ccm",
				"parameter": "fir"
			}, {
				"type": "goog-remb",
				"parameter": ""
			}, {
				"type": "transport-cc",
				"parameter": ""
			}],
			"parameters": {
				"x-google-start-bitrate": 1000
			},
			"preferredPayloadType": 101
		}, {
			"kind": "video",
			"mimeType": "video/rtx",
			"preferredPayloadType": 102,
			"clockRate": 90000,
			"parameters": {
				"apt": 101
			},
			"rtcpFeedback": []
		}, {
			"kind": "video",
			"mimeType": "video/VP9",
			"clockRate": 90000,
			"rtcpFeedback": [{
				"type": "nack",
				"parameter": ""
			}, {
				"type": "nack",
				"parameter": "pli"
			}, {
				"type": "ccm",
				"parameter": "fir"
			}, {
				"type": "goog-remb",
				"parameter": ""
			}, {
				"type": "transport-cc",
				"parameter": ""
			}],
			"parameters": {
				"profile-id": 2,
				"x-google-start-bitrate": 1000
			},
			"preferredPayloadType": 103
		}, {
			"kind": "video",
			"mimeType": "video/rtx",
			"preferredPayloadType": 104,
			"clockRate": 90000,
			"parameters": {
				"apt": 103
			},
			"rtcpFeedback": []
		}, {
			"kind": "video",
			"mimeType": "video/H264",
			"clockRate": 90000,
			"parameters": {
				"packetization-mode": 1,
				"level-asymmetry-allowed": 1,
				"profile-level-id": "4d0032",
				"x-google-start-bitrate": 1000
			},
			"rtcpFeedback": [{
				"type": "nack",
				"parameter": ""
			}, {
				"type": "nack",
				"parameter": "pli"
			}, {
				"type": "ccm",
				"parameter": "fir"
			}, {
				"type": "goog-remb",
				"parameter": ""
			}, {
				"type": "transport-cc",
				"parameter": ""
			}],
			"preferredPayloadType": 105
		}, {
			"kind": "video",
			"mimeType": "video/rtx",
			"preferredPayloadType": 106,
			"clockRate": 90000,
			"parameters": {
				"apt": 105
			},
			"rtcpFeedback": []
		}, {
			"kind": "video",
			"mimeType": "video/H264",
			"clockRate": 90000,
			"parameters": {
				"packetization-mode": 1,
				"level-asymmetry-allowed": 1,
				"profile-level-id": "42e01f",
				"x-google-start-bitrate": 1000
			},
			"rtcpFeedback": [{
				"type": "nack",
				"parameter": ""
			}, {
				"type": "nack",
				"parameter": "pli"
			}, {
				"type": "ccm",
				"parameter": "fir"
			}, {
				"type": "goog-remb",
				"parameter": ""
			}, {
				"type": "transport-cc",
				"parameter": ""
			}],
			"preferredPayloadType": 107
		}, {
			"kind": "video",
			"mimeType": "video/rtx",
			"preferredPayloadType": 108,
			"clockRate": 90000,
			"parameters": {
				"apt": 107
			},
			"rtcpFeedback": []
		}],
		"headerExtensions": [{
			"kind": "audio",
			"uri": "urn:ietf:params:rtp-hdrext:sdes:mid",
			"preferredId": 1,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "urn:ietf:params:rtp-hdrext:sdes:mid",
			"preferredId": 1,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id",
			"preferredId": 2,
			"preferredEncrypt": false,
			"direction": "recvonly"
		}, {
			"kind": "video",
			"uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id",
			"preferredId": 3,
			"preferredEncrypt": false,
			"direction": "recvonly"
		}, {
			"kind": "audio",
			"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
			"preferredId": 4,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time",
			"preferredId": 4,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "audio",
			"uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
			"preferredId": 5,
			"preferredEncrypt": false,
			"direction": "recvonly"
		}, {
			"kind": "video",
			"uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01",
			"preferredId": 5,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07",
			"preferredId": 6,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "urn:ietf:params:rtp-hdrext:framemarking",
			"preferredId": 7,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "audio",
			"uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level",
			"preferredId": 10,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "urn:3gpp:video-orientation",
			"preferredId": 11,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}, {
			"kind": "video",
			"uri": "urn:ietf:params:rtp-hdrext:toffset",
			"preferredId": 12,
			"preferredEncrypt": false,
			"direction": "sendrecv"
		}]
	}
}


//createSendTransport
{
	"request": true,
	"method": "createWebRtcTransport",
	"id": 4281216,
	"data": {
		"forceTcp": false,
		"producing": true,
		"consuming": false,
		"sctpCapabilities": ""
	}
}

{
	"response": true,
	"id": 4281216,
	"ok": true,
	"data": {
		"id": "93196a8a-e30f-42ae-9db9-9fc3d7d7d0d6",
		"iceParameters": {
			"iceLite": true,
			"password": "m1zmdn4asup2fozzvqcfy01jpbyn8hw4",
			"usernameFragment": "1keho6nhzlc9qfmq"
		},
		"iceCandidates": [{
			"foundation": "udpcandidate",
			"ip": "10.168.11.43",
			"port": 42026,
			"priority": 1076302079,
			"protocol": "udp",
			"type": "host"
		}],
		"dtlsParameters": {
			"fingerprints": [{
				"algorithm": "sha-1",
				"value": "B3:E9:14:C8:DD:8B:6E:53:82:B9:99:9E:54:1F:24:6B:20:7A:C7:15"
			}, {
				"algorithm": "sha-224",
				"value": "30:BB:8F:2A:4B:C4:CB:15:E2:5D:8B:B0:53:D6:C9:63:F3:1C:D5:F9:F0:C4:CC:CE:F8:6D:85:45"
			}, {
				"algorithm": "sha-256",
				"value": "AD:E0:A0:10:4D:BB:43:45:DC:ED:C4:0E:14:7F:72:C9:48:46:48:29:6E:CD:60:94:7F:8F:E7:B8:B1:04:58:B6"
			}, {
				"algorithm": "sha-384",
				"value": "CE:52:85:F1:1D:58:C5:6A:AC:23:15:65:93:B6:5B:6E:05:1B:96:14:35:61:34:3C:A9:8B:F4:67:FF:34:6F:32:D8:92:38:42:BB:95:F9:E2:C4:D9:7C:C5:A0:B1:03:3C"
			}, {
				"algorithm": "sha-512",
				"value": "E8:C1:31:AF:25:86:89:61:5D:5B:1D:68:36:AF:5A:59:19:08:0E:E4:A6:CB:1A:38:95:63:5A:EB:D8:EC:78:74:25:55:02:44:87:83:1D:F2:8E:D8:0C:1E:F9:AC:12:7B:B8:54:9F:FB:C8:CF:C1:9A:10:63:4E:6B:87:FB:C3:9B"
			}],
			"role": "auto"
		}
	}
}

//createRecvTransport
{
	"request": true,
	"method": "createWebRtcTransport",
	"id": 1832277,
	"data": {
		"forceTcp": false,
		"producing": false,
		"consuming": true,
		"sctpCapabilities": ""
	}
}

{
	"response": true,
	"id": 1832277,
	"ok": true,
	"data": {
		"id": "c308f22e-c2f1-4ebe-a257-e6f556c28e0c",
		"iceParameters": {
			"iceLite": true,
			"password": "syxs2v13pshabymehr29zwiwux674bzn",
			"usernameFragment": "v54ntec6ofwteltd"
		},
		"iceCandidates": [{
			"foundation": "udpcandidate",
			"ip": "10.168.11.43",
			"port": 46129,
			"priority": 1076302079,
			"protocol": "udp",
			"type": "host"
		}],
		"dtlsParameters": {
			"fingerprints": [{
				"algorithm": "sha-1",
				"value": "B3:E9:14:C8:DD:8B:6E:53:82:B9:99:9E:54:1F:24:6B:20:7A:C7:15"
			}, {
				"algorithm": "sha-224",
				"value": "30:BB:8F:2A:4B:C4:CB:15:E2:5D:8B:B0:53:D6:C9:63:F3:1C:D5:F9:F0:C4:CC:CE:F8:6D:85:45"
			}, {
				"algorithm": "sha-256",
				"value": "AD:E0:A0:10:4D:BB:43:45:DC:ED:C4:0E:14:7F:72:C9:48:46:48:29:6E:CD:60:94:7F:8F:E7:B8:B1:04:58:B6"
			}, {
				"algorithm": "sha-384",
				"value": "CE:52:85:F1:1D:58:C5:6A:AC:23:15:65:93:B6:5B:6E:05:1B:96:14:35:61:34:3C:A9:8B:F4:67:FF:34:6F:32:D8:92:38:42:BB:95:F9:E2:C4:D9:7C:C5:A0:B1:03:3C"
			}, {
				"algorithm": "sha-512",
				"value": "E8:C1:31:AF:25:86:89:61:5D:5B:1D:68:36:AF:5A:59:19:08:0E:E4:A6:CB:1A:38:95:63:5A:EB:D8:EC:78:74:25:55:02:44:87:83:1D:F2:8E:D8:0C:1E:F9:AC:12:7B:B8:54:9F:FB:C8:CF:C1:9A:10:63:4E:6B:87:FB:C3:9B"
			}],
			"role": "auto"
		}
	}
}

{
	"request": true,
	"method": "join",
	"id": 4957333,
	"data": {
		"displayName": "Tanay",
		"rtpCapabilities": {
			"codecs": [{
				"channels": 2,
				"clockRate": 48000,
				"kind": "audio",
				"mimeType": "audio\/opus",
				"parameters": {
					"minptime": 10,
					"useinbandfec": 1
				},
				"preferredPayloadType": 100,
				"rtcpFeedback": [{
					"parameter": "",
					"type": "transport-cc"
				}]
			}, {
				"clockRate": 90000,
				"kind": "video",
				"mimeType": "video\/H264",
				"parameters": {
					"level-asymmetry-allowed": 1,
					"packetization-mode": 1,
					"profile-level-id": "42e01f"
				},
				"preferredPayloadType": 107,
				"rtcpFeedback": [{
					"parameter": "",
					"type": "goog-remb"
				}, {
					"parameter": "",
					"type": "transport-cc"
				}, {
					"parameter": "fir",
					"type": "ccm"
				}, {
					"parameter": "",
					"type": "nack"
				}, {
					"parameter": "pli",
					"type": "nack"
				}]
			}, {
				"clockRate": 90000,
				"kind": "video",
				"mimeType": "video\/rtx",
				"parameters": {
					"apt": 107
				},
				"preferredPayloadType": 108,
				"rtcpFeedback": []
			}],
			"headerExtensions": [{
				"direction": "sendrecv",
				"kind": "audio",
				"preferredEncrypt": false,
				"preferredId": 1,
				"uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
			}, {
				"direction": "sendrecv",
				"kind": "video",
				"preferredEncrypt": false,
				"preferredId": 1,
				"uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
			}, {
				"direction": "sendrecv",
				"kind": "audio",
				"preferredEncrypt": false,
				"preferredId": 4,
				"uri": "http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/abs-send-time"
			}, {
				"direction": "sendrecv",
				"kind": "video",
				"preferredEncrypt": false,
				"preferredId": 4,
				"uri": "http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/abs-send-time"
			}, {
				"direction": "sendrecv",
				"kind": "video",
				"preferredEncrypt": false,
				"preferredId": 5,
				"uri": "http:\/\/www.ietf.org\/id\/draft-holmer-rmcat-transport-wide-cc-extensions-01"
			}, {
				"direction": "sendrecv",
				"kind": "video",
				"preferredEncrypt": false,
				"preferredId": 6,
				"uri": "http:\/\/tools.ietf.org\/html\/draft-ietf-avtext-framemarking-07"
			}, {
				"direction": "sendrecv",
				"kind": "audio",
				"preferredEncrypt": false,
				"preferredId": 10,
				"uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
			}, {
				"direction": "sendrecv",
				"kind": "video",
				"preferredEncrypt": false,
				"preferredId": 11,
				"uri": "urn:3gpp:video-orientation"
			}, {
				"direction": "sendrecv",
				"kind": "video",
				"preferredEncrypt": false,
				"preferredId": 12,
				"uri": "urn:ietf:params:rtp-hdrext:toffset"
			}]
		},
		"sctpCapabilities": ""
	}
}

{
	"response": true,
	"id": 4957333,
	"ok": true,
	"data": {
		"peers": []
	}
}

{
	"request": true,
	"method": "connectWebRtcTransport",
	"id": 9068619,
	"data": {
		"transportId": "93196a8a-e30f-42ae-9db9-9fc3d7d7d0d6",
		"dtlsParameters": {
			"fingerprints": [{
				"algorithm": "sha-256",
				"value": "CE:6E:A8:7E:F9:F0:62:A2:82:E6:1D:35:15:A2:F3:54:3B:63:E8:6A:CC:19:E9:BE:F3:62:C9:53:22:AF:00:E5"
			}],
			"role": "server"
		}
	}
}

{
	"response": true,
	"id": 9068619,
	"ok": true,
	"data": {}
}

{
	"request": true,
	"method": "produce",
	"id": 288838,
	"data": {
		"transportId": "93196a8a-e30f-42ae-9db9-9fc3d7d7d0d6",
		"kind": "audio",
		"rtpParameters": {
			"codecs": [{
				"channels": 2,
				"clockRate": 48000,
				"mimeType": "audio\/opus",
				"parameters": {
					"minptime": 10,
					"useinbandfec": 1
				},
				"payloadType": 111,
				"rtcpFeedback": [{
					"parameter": "",
					"type": "transport-cc"
				}]
			}],
			"encodings": [{
				"dtx": false,
				"ssrc": 2266946011
			}],
			"headerExtensions": [{
				"encrypt": false,
				"id": 4,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
			}, {
				"encrypt": false,
				"id": 2,
				"parameters": {},
				"uri": "http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/abs-send-time"
			}, {
				"encrypt": false,
				"id": 3,
				"parameters": {},
				"uri": "http:\/\/www.ietf.org\/id\/draft-holmer-rmcat-transport-wide-cc-extensions-01"
			}, {
				"encrypt": false,
				"id": 1,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
			}],
			"mid": "0",
			"rtcp": {
				"cname": "",
				"reducedSize": true
			}
		},
		"appData": "{}"
	}
}

{
	"response": true,
	"id": 288838,
	"ok": true,
	"data": {
		"id": "3bd30e28-4c38-48ab-96e6-a9d64b92b4e7"
	}
}

{
	"request": true,
	"method": "produce",
	"id": 5836679,
	"data": {
		"transportId": "93196a8a-e30f-42ae-9db9-9fc3d7d7d0d6",
		"kind": "video",
		"rtpParameters": {
			"codecs": [{
				"clockRate": 90000,
				"mimeType": "video\/H264",
				"parameters": {
					"level-asymmetry-allowed": 1,
					"packetization-mode": 1,
					"profile-level-id": "42e01f"
				},
				"payloadType": 98,
				"rtcpFeedback": [{
					"parameter": "",
					"type": "goog-remb"
				}, {
					"parameter": "",
					"type": "transport-cc"
				}, {
					"parameter": "fir",
					"type": "ccm"
				}, {
					"parameter": "",
					"type": "nack"
				}, {
					"parameter": "pli",
					"type": "nack"
				}]
			}, {
				"clockRate": 90000,
				"mimeType": "video\/rtx",
				"parameters": {
					"apt": 98
				},
				"payloadType": 99,
				"rtcpFeedback": []
			}],
			"encodings": [{
				"dtx": false,
				"rtx": {
					"ssrc": 3649893365
				},
				"ssrc": 3057125697
			}],
			"headerExtensions": [{
				"encrypt": false,
				"id": 4,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
			}, {
				"encrypt": false,
				"id": 5,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"
			}, {
				"encrypt": false,
				"id": 6,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"
			}, {
				"encrypt": false,
				"id": 2,
				"parameters": {},
				"uri": "http:\/\/www.webrtc.org\/experiments\/rtp-hdrext\/abs-send-time"
			}, {
				"encrypt": false,
				"id": 3,
				"parameters": {},
				"uri": "http:\/\/www.ietf.org\/id\/draft-holmer-rmcat-transport-wide-cc-extensions-01"
			}, {
				"encrypt": false,
				"id": 8,
				"parameters": {},
				"uri": "http:\/\/tools.ietf.org\/html\/draft-ietf-avtext-framemarking-07"
			}, {
				"encrypt": false,
				"id": 13,
				"parameters": {},
				"uri": "urn:3gpp:video-orientation"
			}, {
				"encrypt": false,
				"id": 14,
				"parameters": {},
				"uri": "urn:ietf:params:rtp-hdrext:toffset"
			}],
			"mid": "1",
			"rtcp": {
				"cname": "",
				"reducedSize": true
			}
		},
		"appData": "{}"
	}
}

{
	"response": true,
	"id": 5836679,
	"ok": true,
	"data": {
		"id": "ef7d5e8d-9547-4bbd-b8f0-2c10b5da2e6e"
	}
}


{
	"request": true,
	"id": 6109114,
	"method": "newDataConsumer",
	"data": {
		"peerId": "15_40_53_908",
		"dataProducerId": "5813d592-5ba7-4e9c-8d09-416978a643f9",
		"id": "2404cd52-0fe1-4471-839e-bc11c0995fa9",
		"sctpStreamParameters": {
			"ordered": true,
			"streamId": 0
		},
		"label": "chat",
		"protocol": "",
		"appData": {}
	}
}

{
	"response": true,
	"id": 6109114,
	"ok": true,
	"data": {}
}

{
	"id": 949333985,
	"method": "produceData",
	"request": true,
	"data": {
		"appData": {},
		"label": "chat",
		"protocol": "",
		"sctpStreamParameters": {
			"label": "",
			"maxPacketLifeTime": 0,
			"maxRetransmits": 0,
			"ordered": true,
			"protocol": "",
			"streamId": 0
		},
		"transportId": "355e01ed-7d49-4ae0-90d2-8f7fdaf1f439"
	}
}


{
	"response": true,
	"id": 949333985,
	"ok": true,
	"data": {
		"id": "63fbc411-4f6a-4746-8e22-abc2317e81c3"
	}
}

Handler::Send() | calling pc->SetLocalDescription():
    v=0
    o=- 2123024220638169078 3 IN IP4 127.0.0.1
    s=-
    t=0 0
    a=group:BUNDLE 0 1
    a=msid-semantic: WMS 0
    m=audio 39163 UDP/TLS/RTP/SAVPF 111 103 104 9 102 0 8 106 105 13 110 112 113 126
    c=IN IP4 10.168.138.78
    a=rtcp:9 IN IP4 0.0.0.0
    a=candidate:2801784103 1 udp 2122260223 10.168.138.78 39163 typ host generation 0 network-id 7 network-cost 10
    a=candidate:2801784103 1 udp 2121998079 10.168.138.78 38232 typ host generation 0 network-id 1 network-cost 900
    a=candidate:3806566203 1 tcp 1518151935 240e:505:7e00:ae5e:1:1:b373:6a1d 9 typ host tcptype active generation 0 network-id 3 network-cost 900
    a=candidate:2743714882 1 tcp 1518086399 240e:505:1e30:661f:1:1:d7a4:94c2 9 typ host tcptype active generation 0 network-id 4 network-cost 900
    a=ice-ufrag:uCyc
    a=ice-pwd:vrTR2++ojAOS35blblsLXzCE
    a=ice-options:trickle
    a=fingerprint:sha-256 CE:6E:A8:7E:F9:F0:62:A2:82:E6:1D:35:15:A2:F3:54:3B:63:E8:6A:CC:19:E9:BE:F3:62:C9:53:22:AF:00:E5
    a=setup:actpass
    a=mid:0
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
    a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
    a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
    a=sendonly
    a=msid:0 mic
    a=rtcp-mux
    a=rtpmap:111 opus/48000/2
    a=rtcp-fb:111 transport-cc
    a=fmtp:111 minptime=10;useinbandfec=1
    a=rtpmap:103 ISAC/16000
    a=rtpmap:104 ISAC/32000
    a=rtpmap:9 G722/8000
    a=rtpmap:102 ILBC/8000
    a=rtpmap:0 PCMU/8000
    a=rtpmap:8 PCMA/8000
    a=rtpmap:106 CN/32000
    a=rtpmap:105 CN/16000
    a=rtpmap:13 CN/8000
    a=rtpmap:110 telephone-event/48000
    a=rtpmap:112 telephone-event/32000
    a=rtpmap:113 telephone-event/16000
    a=rtpmap:126 telephone-event/8000
    a=ssrc:2266946011 cname:va35rWj5XvTJbHHW
    a=ssrc:2266946011 msid:0 mic
    a=ssrc:2266946011 mslabel:0
    a=ssrc:2266946011 label:mic
    m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127
    c=IN IP4 0.0.0.0
    a=rtcp:9 IN IP4 0.0.0.0
    a=ice-ufrag:uCyc
    a=ice-pwd:vrTR2++ojAOS35blblsLXzCE
    a=ice-options:trickle
    a=fingerprint:sha-256 CE:6E:A8:7E:F9:F0:62:A2:82:E6:1D:35:15:A2:F3:54:3B:63:E8:6A:CC:19:E9:BE:F3:62:C9:53:22:AF:00:E5
    a=setup:actpass
    a=mid:1
    a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:13 urn:3gpp:video-orientation
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:12 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
    a=extmap:11 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
    a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
    a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
    a=extmap:9 http://www.webrtc.org/experiments/rtp-hdrext/color-space
    a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
    a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
    a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
    a=sendonly
    a=msid:0 cam
    a=rtcp-mux
    a=rtcp-rsize
    a=rtpmap:96 H264/90000
    a=rtcp-fb:96 goog-remb
    a=rtcp-fb:96 transport-cc
    a=rtcp-fb:96 ccm fir
    a=rtcp-fb:96 nack
    a=rtcp-fb:96 nack pli
    a=fmtp:96 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=640c1f
    a=rtpmap:97 rtx/90000
    a=fmtp:97 apt=96
    a=rtpmap:98 H264/90000
    a=rtcp-fb:98 goog-remb
    a=rtcp-fb:98 transport-cc
    a=rtcp-fb:98 ccm fir
    a=rtcp-fb:98 nack
    a=rtcp-fb:98 nack pli
    a=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f
    a=rtpmap:99 rtx/90000
    a=fmtp:99 apt=98
    a=rtpmap:100 red/90000
    a=rtpmap:101 rtx/90000
    a=fmtp:101 apt=100
    a=rtpmap:127 ulpfec/90000
    a=ssrc-group:FID 3057125697 3649893365
    a=ssrc:3057125697 cname:va35rWj5XvTJbHHW
    a=ssrc:3057125697 msid:0 cam
    a=ssrc:3057125697 mslabel:0
    a=ssrc:3057125697 label:cam
    a=ssrc:3649893365 cname:va35rWj5XvTJbHHW
    a=ssrc:3649893365 msid:0 cam
    a=ssrc:3649893365 mslabel:0
    a=ssrc:3649893365 label:cam


Handler::Send() | calling pc->SetRemoteDescription():
    v=0
    o=libmediasoupclient 10000 2 IN IP4 0.0.0.0
    s=-
    t=0 0
    a=ice-lite
    a=fingerprint:sha-512 E8:C1:31:AF:25:86:89:61:5D:5B:1D:68:36:AF:5A:59:19:08:0E:E4:A6:CB:1A:38:95:63:5A:EB:D8:EC:78:74:25:55:02:44:87:83:1D:F2:8E:D8:0C:1E:F9:AC:12:7B:B8:54:9F:FB:C8:CF:C1:9A:10:63:4E:6B:87:FB:C3:9B
    a=msid-semantic: WMS *
    a=group:BUNDLE 0 1
    m=audio 7 UDP/TLS/RTP/SAVPF 111
    c=IN IP4 127.0.0.1
    a=rtpmap:111 opus/48000/2
    a=rtcp-fb:111 transport-cc
    a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
    a=setup:active
    a=mid:0
    a=recvonly
    a=ice-ufrag:1keho6nhzlc9qfmq
    a=ice-pwd:m1zmdn4asup2fozzvqcfy01jpbyn8hw4
    a=candidate:udpcandidate 1 udp 1076302079 10.168.11.43 42026 typ host
    a=end-of-candidates
    a=ice-options:renomination
    a=rtcp-mux
    a=rtcp-rsize
    m=video 7 UDP/TLS/RTP/SAVPF 98 99
    c=IN IP4 127.0.0.1
    a=rtpmap:98 H264/90000
    a=rtpmap:99 rtx/90000
    a=fmtp:98 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f;x-google-start-bitrate=1000
    a=fmtp:99 apt=98
    a=rtcp-fb:98 transport-cc
    a=rtcp-fb:98 ccm fir
    a=rtcp-fb:98 nack
    a=rtcp-fb:98 nack pli
    a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
    a=extmap:5 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
    a=extmap:6 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
    a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
    a=extmap:3 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
    a=extmap:8 http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07
    a=extmap:13 urn:3gpp:video-orientation
    a=extmap:14 urn:ietf:params:rtp-hdrext:toffset
    a=setup:active
    a=mid:1
    a=recvonly
    a=ice-ufrag:1keho6nhzlc9qfmq
    a=ice-pwd:m1zmdn4asup2fozzvqcfy01jpbyn8hw4
    a=candidate:udpcandidate 1 udp 1076302079 10.168.11.43 42026 typ host
    a=end-of-candidates
    a=ice-options:renomination
    a=rtcp-mux
    a=rtcp-rsize








[candidate:candidate:2801784103 1 udp 2122260223 10.168.138.78 39163 typ host generation 0 ufrag uCyc network-id 7 network-cost 10]
[candidate:candidate:2801784103 1 udp 2121998079 10.168.138.78 38232 typ host generation 0 ufrag uCyc network-id 1 network-cost 900]
[candidate:candidate:3806566203 1 tcp 1518151935 240e:505:7e00:ae5e:1:1:b373:6a1d 9 typ host tcptype active generation 0 ufrag uCyc network-id 3 network-cost 900]
[candidate:candidate:2743714882 1 tcp 1518086399 240e:505:1e30:661f:1:1:d7a4:94c2 9 typ host tcptype active generation 0 ufrag uCyc network-id 4 network-cost 900]
[candidate:candidate:2801784103 1 udp 2122260223 10.168.138.78 32829 typ host generation 0 ufrag uCyc network-id 7 network-cost 10]
[candidate:candidate:2801784103 1 udp 2121998079 10.168.138.78 46558 typ host generation 0 ufrag uCyc network-id 1 network-cost 900]









got native RTP capabilities offer: 
 {
        "codecs": [
            {
                "channels": 1,
                "clockRate": 8000,
                "kind": "audio",
                "mimeType": "audio/PCMU",
                "parameters": {},
                "preferredPayloadType": 0,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 8000,
                "kind": "audio",
                "mimeType": "audio/PCMA",
                "parameters": {},
                "preferredPayloadType": 8,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 8000,
                "kind": "audio",
                "mimeType": "audio/G722",
                "parameters": {},
                "preferredPayloadType": 9,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 8000,
                "kind": "audio",
                "mimeType": "audio/CN",
                "parameters": {},
                "preferredPayloadType": 13,
                "rtcpFeedback": []
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/H264",
                "parameters": {
                    "level-asymmetry-allowed": 1,
                    "packetization-mode": 1,
                    "profile-level-id": "42e01f"
                },
                "preferredPayloadType": 98,
                "rtcpFeedback": [
                    {
                        "type": "goog-remb"
                    },
                    {
                        "type": "transport-cc"
                    },
                    {
                        "parameter": "fir",
                        "type": "ccm"
                    },
                    {
                        "type": "nack"
                    },
                    {
                        "parameter": "pli",
                        "type": "nack"
                    }
                ]
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/rtx",
                "parameters": {
                    "apt": 98
					},
                "preferredPayloadType": 99,
                "rtcpFeedback": []
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/red",
                "parameters": {},
                "preferredPayloadType": 100,
                "rtcpFeedback": []
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/rtx",
                "parameters": {
                    "apt": 100
                },
                "preferredPayloadType": 101,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 8000,
                "kind": "audio",
                "mimeType": "audio/ILBC",
                "parameters": {},
                "preferredPayloadType": 102,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 16000,
                "kind": "audio",
                "mimeType": "audio/ISAC",
                "parameters": {},
                "preferredPayloadType": 103,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 32000,
                "kind": "audio",
                "mimeType": "audio/ISAC",
                "parameters": {},
                "preferredPayloadType": 104,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 16000,
                "kind": "audio",
                "mimeType": "audio/CN",
                "parameters": {},
                "preferredPayloadType": 105,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 32000,
                "kind": "audio",
                "mimeType": "audio/CN",
                "parameters": {},
                "preferredPayloadType": 106,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 48000,
                "kind": "audio",
                "mimeType": "audio/telephone-event",
                "parameters": {},
                "preferredPayloadType": 110,
                "rtcpFeedback": []
            },
            {
                "channels": 2,
                "clockRate": 48000,
                "kind": "audio",
                "mimeType": "audio/opus",
                "parameters": {
                    "minptime": 10,
                    "useinbandfec": 1
                },
                "preferredPayloadType": 111,
                "rtcpFeedback": [
                    {
                        "type": "transport-cc"
                    }
                ]
            },
            {
                "channels": 1,
                "clockRate": 32000,
                "kind": "audio",
                "mimeType": "audio/telephone-event",
                "parameters": {},
                "preferredPayloadType": 112,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 16000,
                "kind": "audio",
                "mimeType": "audio/telephone-event",
                "parameters": {},
                "preferredPayloadType": 113,
                "rtcpFeedback": []
            },
            {
                "channels": 1,
                "clockRate": 8000,
                "kind": "audio",
                "mimeType": "audio/telephone-event",
                "parameters": {},
                "preferredPayloadType": 126,
                "rtcpFeedback": []
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/ulpfec",
                "parameters": {},
                "preferredPayloadType": 127,
                "rtcpFeedback": []
            }
        ],
        "fecMechanisms": [],
        "headerExtensions": [
            {
                "kind": "audio",
                "preferredId": 1,
                "uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
            },
            {
                "kind": "audio",
                "preferredId": 2,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
            },
            {
                "kind": "audio",
                "preferredId": 3,
                "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
            },
            {
                "kind": "audio",
                "preferredId": 4,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
            },
            {
                "kind": "audio",
                "preferredId": 5,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"
            },
            {
                "kind": "audio",
                "preferredId": 6,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"
            },
            {
                "kind": "video",
                "preferredId": 14,
                "uri": "urn:ietf:params:rtp-hdrext:toffset"
            },
            {
                "kind": "video",
                "preferredId": 2,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
            },
            {
                "kind": "video",
                "preferredId": 13,
                "uri": "urn:3gpp:video-orientation"
            },
            {
                "kind": "video",
                "preferredId": 3,
                "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
            },
            {
                "kind": "video",
                "preferredId": 12,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/playout-delay"
            },
            {
                "kind": "video",
                "preferredId": 11,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/video-content-type"
            },
            {
                "kind": "video",
                "preferredId": 7,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/video-timing"
            },
            {
                "kind": "video",
                "preferredId": 8,
                "uri": "http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07"
            },
            {
                "kind": "video",
                "preferredId": 9,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/color-space"
            },
            {
                "kind": "video",
                "preferredId": 4,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
            },
            {
                "kind": "video",
                "preferredId": 5,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"
            },
            {
                "kind": "video",
                "preferredId": 6,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"
            }
        ]
    }
	
	
	

//this->extendedRtpCapabilities = ortc::getExtendedRtpCapabilities(nativeRtpCapabilities, routerRtpCapabilities);

got extended RTP capabilities:
    {
        "codecs": [
            {
                "channels": 2,
                "clockRate": 48000,
                "kind": "audio",
                "localParameters": {
                    "minptime": 10,
                    "useinbandfec": 1
                },
                "localPayloadType": 111,
                "localRtxPayloadType": null,
                "mimeType": "audio/opus",
                "remoteParameters": {},
                "remotePayloadType": 100,
                "remoteRtxPayloadType": null,
                "rtcpFeedback": [
                    {
                        "parameter": "",
                        "type": "transport-cc"
                    }
                ]
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "localParameters": {
                    "level-asymmetry-allowed": 1,
                    "packetization-mode": 1,
                    "profile-level-id": "42e01f"
                },
                "localPayloadType": 98,
                "localRtxPayloadType": 99,
                "mimeType": "video/H264",
                "remoteParameters": {
                    "level-asymmetry-allowed": 1,
                    "packetization-mode": 1,
                    "profile-level-id": "42e01f",
                    "x-google-start-bitrate": 1000
                },
                "remotePayloadType": 107,
                "remoteRtxPayloadType": 108,
                "rtcpFeedback": [
                    {
                        "parameter": "",
                        "type": "goog-remb"
                    },
                    {
                        "parameter": "",
                        "type": "transport-cc"
                    },
                    {
                        "parameter": "fir",
                        "type": "ccm"
                    },
                    {
                        "parameter": "",
                        "type": "nack"
                    },
                    {
                        "parameter": "pli",
                        "type": "nack"
                    }
                ]
            }
        ],
        "headerExtensions": [
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "audio",
                "recvId": 1,
                "sendId": 4,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "video",
                "recvId": 1,
                "sendId": 4,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
            },
            {
                "direction": "sendonly",
                "encrypt": false,
                "kind": "video",
                "recvId": 2,
                "sendId": 5,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id"
            },
            {
                "direction": "sendonly",
                "encrypt": false,
                "kind": "video",
                "recvId": 3,
                "sendId": 6,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "audio",
                "recvId": 4,
                "sendId": 2,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "video",
                "recvId": 4,
                "sendId": 2,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
            },
            {
                "direction": "sendonly",
                "encrypt": false,
                "kind": "audio",
                "recvId": 5,
                "sendId": 3,
                "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "video",
                "recvId": 5,
                "sendId": 3,
                "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "video",
                "recvId": 6,
                "sendId": 8,
                "uri": "http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "audio",
                "recvId": 10,
                "sendId": 1,
                "uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "video",
                "recvId": 11,
                "sendId": 13,
                "uri": "urn:3gpp:video-orientation"
            },
            {
                "direction": "sendrecv",
                "encrypt": false,
                "kind": "video",
                "recvId": 12,
                "sendId": 14,
                "uri": "urn:ietf:params:rtp-hdrext:toffset"
            }
        ]
    }
	
	
	
	got receiving RTP capabilities:
    {
        "codecs": [
            {
                "channels": 2,
                "clockRate": 48000,
                "kind": "audio",
                "mimeType": "audio/opus",
                "parameters": {
                    "minptime": 10,
                    "useinbandfec": 1
                },
                "preferredPayloadType": 100,
                "rtcpFeedback": [
                    {
                        "parameter": "",
                        "type": "transport-cc"
                    }
                ]
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/H264",
                "parameters": {
                    "level-asymmetry-allowed": 1,
                    "packetization-mode": 1,
                    "profile-level-id": "42e01f"
                },
                "preferredPayloadType": 107,
                "rtcpFeedback": [
                    {
                        "parameter": "",
                        "type": "goog-remb"
                    },
                    {
                        "parameter": "",
                        "type": "transport-cc"
                    },
                    {
                        "parameter": "fir",
                        "type": "ccm"
                    },
                    {
                        "parameter": "",
                        "type": "nack"
                    },
                    {
                        "parameter": "pli",
                        "type": "nack"
                    }
                ]
            },
            {
                "clockRate": 90000,
                "kind": "video",
                "mimeType": "video/rtx",
                "parameters": {
                    "apt": 107
                },
                "preferredPayloadType": 108,
                "rtcpFeedback": []
            }
        ],
        "headerExtensions": [
            {
                "direction": "sendrecv",
                "kind": "audio",
                "preferredEncrypt": false,
                "preferredId": 1,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
            },
            {
                "direction": "sendrecv",
                "kind": "video",
                "preferredEncrypt": false,
                "preferredId": 1,
                "uri": "urn:ietf:params:rtp-hdrext:sdes:mid"
            },
            {
                "direction": "sendrecv",
                "kind": "audio",
                "preferredEncrypt": false,
                "preferredId": 4,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
            },
            {
                "direction": "sendrecv",
                "kind": "video",
                "preferredEncrypt": false,
                "preferredId": 4,
                "uri": "http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time"
            },
            {
                "direction": "sendrecv",
                "kind": "video",
                "preferredEncrypt": false,
                "preferredId": 5,
                "uri": "http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01"
            },
            {
                "direction": "sendrecv",
                "kind": "video",
                "preferredEncrypt": false,
                "preferredId": 6,
                "uri": "http://tools.ietf.org/html/draft-ietf-avtext-framemarking-07"
            },
            {
                "direction": "sendrecv",
                "kind": "audio",
                "preferredEncrypt": false,
                "preferredId": 10,
                "uri": "urn:ietf:params:rtp-hdrext:ssrc-audio-level"
            },
            {
                "direction": "sendrecv",
                "kind": "video",
                "preferredEncrypt": false,
                "preferredId": 11,
                "uri": "urn:3gpp:video-orientation"
            },
            {
                "direction": "sendrecv",
                "kind": "video",
                "preferredEncrypt": false,
                "preferredId": 12,
                "uri": "urn:ietf:params:rtp-hdrext:toffset"
            }
        ]
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值