【发布时间】:2015-02-19 11:29:08
【问题描述】:
我目前正在尝试将 WebRTC MediaStreams 流式传输到我的服务器,并将其记录下来。遗憾的是没有原生的 Java webRTC 端点,所以我想自己实现这个特殊情况。
现在,给定一个提议 sdp 和我的服务器的公共 IP,我如何构建浏览器启动 SRTP 所需的 DTLS 握手所需的最小 sdp 响应?
如果您想解释一个具体的例子,请使用下面的 sdp 报价(源于带有单个视频 mediaStream 的 chrome)并假设服务器的公共 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
【问题讨论】: