В настоящее время я пытаюсь передать WebRTC MediaStreams на свой сервер, где он будет записан. К сожалению, нет конечной точки Java webRTC, поэтому я хочу реализовать этот специальный случай сам.Каков минимальный SDP-ответ для получения WebRTC Audio и видео?
Теперь, учитывая предложение sdp и общедоступный IP-адрес моего сервера, как мне создать минимальный ответ sdp, необходимый браузеру, чтобы начать квитирование DTLS, необходимое для SRTP?
Если вы хотите, чтобы объяснить на конкретном примере, пожалуйста, используйте SDP предложение ниже (вытекающие из хрома с одним видео MediaStream) и предположим, что сервера общественного IP, чтобы быть «12.34.56.78»:
v=0
o=- 8782460735244849509 3 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE video
a=msid-semantic: WMS oHpG0QpIucmqjpjl26NElSfQfQD9Lnetl3Tn
m=video 59183 RTP/SAVPF 100 116 117 96
c=IN IP4 192.168.178.37
a=rtcp:59183 IN IP4 192.168.178.37
a=candidate:1833114227 1 udp 2122063615 192.168.178.37 59183 typ host generation 0
a=candidate:1833114227 2 udp 2122063615 192.168.178.37 59183 typ host generation 0
a=candidate:599844483 1 tcp 1518083839 192.168.178.37 0 typ host tcptype active generation 0
a=candidate:599844483 2 tcp 1518083839 192.168.178.37 0 typ host tcptype active generation 0
a=ice-ufrag:6iMBf9B5eBE6OQmW
a=ice-pwd:cc+Og0UJeyl5aUAYHNU2ixY0
a=ice-options:google-ice
a=fingerprint:sha-256 5C:1C:0B:92:6C:E7:87:D1:E0:83:26:2E:D9:90:B2:58:B0:76:D6:AF:D1:E9:38:91:C0:AF:1D:92:13:45:13:AC
a=setup:actpass
a=mid:video
a=extmap:2 urn:ietf:params:rtp-hdrext:toffset
a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=sendrecv
a=rtcp-mux
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtcp-fb:100 goog-remb
a=rtpmap:116 red/90000
a=rtpmap:117 ulpfec/90000
a=rtpmap:96 rtx/90000
a=fmtp:96 apt=100
a=ssrc-group:FID 2157921332 2260451967
a=ssrc:2157921332 cname:36oaVisUAzbVEQm5
a=ssrc:2157921332 msid:oHpG0QpIucmqjpjl26NElSfQfQD9Lnetl3Tn bdea0afa-598b-4829-9dfd-ceb9e8c6d23d
a=ssrc:2157921332 mslabel:oHpG0QpIucmqjpjl26NElSfQfQD9Lnetl3Tn
a=ssrc:2157921332 label:bdea0afa-598b-4829-9dfd-ceb9e8c6d23d
a=ssrc:2260451967 cname:36oaVisUAzbVEQm5
a=ssrc:2260451967 msid:oHpG0QpIucmqjpjl26NElSfQfQD9Lnetl3Tn bdea0afa-598b-4829-9dfd-ceb9e8c6d23d
a=ssrc:2260451967 mslabel:oHpG0QpIucmqjpjl26NElSfQfQD9Lnetl3Tn
a=ssrc:2260451967 label:bdea0afa-598b-4829-9dfd-ceb9e8c6d23d
Когда я задал этот вопрос, я подумал, что может просто создать ICE-кандидат, содержащий хорошо известные общедоступные IP-адреса, ubt, с тех пор я прочитал об обмене оглушающими сообщениями, чтобы обеспечить двухстороннюю связь, которая здесь не нужна, но согласно спецификации:/ Посмотрите на свой пример –