Wowza Community

WebRTC publish

I have managed to set up a WebRTC Wowza app. Generated a self signed cert, added all the configs according to the docs.

I have set up Wowza on a standalone server to be able to test it remotely. However when I try to publish I quickly get disconnected.

Console output:

gotDescription: {"sdp":{"type":"offer","sdp":"v=0\r\no=- 3359413190172768985 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111 103 104 9 0 8 106 105 13 126\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:WwgM\r\na=ice-pwd:If3UQPzupZmEz07dPidP9HEx\r\na=fingerprint:sha-256 1C:0A:23:E9:11:B8:0E:A9:FB:D2:CE:D1:83:0E:8E:9F:AC:F9:9F:38:1A:C7:7D:A4:38:42:4C:23:45:23:F7:55\r\na=setup:actpass\r\na=mid:audio\r\nb=CT:64\r\nb=AS:64\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=sendrecv\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\na=rtpmap:103 ISAC/16000\r\na=fmtp:103 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:104 ISAC/32000\r\na=fmtp:104 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:9 G722/8000\r\na=fmtp:9 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:0 PCMU/8000\r\na=fmtp:0 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:8 PCMA/8000\r\na=fmtp:8 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:106 CN/32000\r\na=fmtp:106 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:105 CN/16000\r\na=fmtp:105 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:13 CN/8000\r\na=fmtp:13 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtpmap:126 telephone-event/8000\r\na=ssrc:2301966735 cname:bsgO/HRApv5X0hUi\r\na=ssrc:2301966735 msid:WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB 70dc5cd6-6c68-4e61-95ba-c20794ea7319\r\na=ssrc:2301966735 mslabel:WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB\r\na=ssrc:2301966735 label:70dc5cd6-6c68-4e61-95ba-c20794ea7319\r\nm=video 9 UDP/TLS/RTP/SAVPF 100 101 107 116 117 96 97 99 98\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:WwgM\r\na=ice-pwd:If3UQPzupZmEz07dPidP9HEx\r\na=fingerprint:sha-256 1C:0A:23:E9:11:B8:0E:A9:FB:D2:CE:D1:83:0E:8E:9F:AC:F9:9F:38:1A:C7:7D:A4:38:42:4C:23:45:23:F7:55\r\na=setup:actpass\r\na=mid:video\r\nb=CT:360\r\nb=AS:360\r\na=framerate:29.97\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=sendrecv\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:100 VP8/90000\r\na=fmtp:100 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\na=rtpmap:101 VP9/90000\r\na=fmtp:101 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=rtcp-fb:101 ccm fir\r\na=rtcp-fb:101 nack\r\na=rtcp-fb:101 nack pli\r\na=rtcp-fb:101 goog-remb\r\na=rtcp-fb:101 transport-cc\r\na=rtpmap:107 H264/90000\r\na=fmtp:107 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=rtcp-fb:107 ccm fir\r\na=rtcp-fb:107 nack\r\na=rtcp-fb:107 nack pli\r\na=rtcp-fb:107 goog-remb\r\na=rtcp-fb:107 transport-cc\r\na=fmtp:107 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=rtpmap:116 red/90000\r\na=fmtp:116 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=rtpmap:117 ulpfec/90000\r\na=fmtp:117 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=rtpmap:96 rtx/90000\r\na=fmtp:96 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=fmtp:96 apt=100\r\na=rtpmap:97 rtx/90000\r\na=fmtp:97 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=fmtp:97 apt=101\r\na=rtpmap:99 rtx/90000\r\na=fmtp:99 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=fmtp:99 apt=107\r\na=rtpmap:98 rtx/90000\r\na=fmtp:98 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=fmtp:98 apt=116\r\na=ssrc-group:FID 2975021386 1214754365\r\na=ssrc:2975021386 cname:bsgO/HRApv5X0hUi\r\na=ssrc:2975021386 msid:WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB f9042be8-6f2f-489f-81bb-27236fc58f7e\r\na=ssrc:2975021386 mslabel:WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB\r\na=ssrc:2975021386 label:f9042be8-6f2f-489f-81bb-27236fc58f7e\r\na=ssrc:1214754365 cname:bsgO/HRApv5X0hUi\r\na=ssrc:1214754365 msid:WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB f9042be8-6f2f-489f-81bb-27236fc58f7e\r\na=ssrc:1214754365 mslabel:WHkISmEhNfSr3O3h27G9u2S8lRsvYQPKByFB\r\na=ssrc:1214754365 label:f9042be8-6f2f-489f-81bb-27236fc58f7e\r\n"}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:2429132211 1 udp 2122260223 192.168.0.18 60009 typ host generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"audio","sdpMLineIndex":0}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:2429132211 2 udp 2122260222 192.168.0.18 54433 typ host generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"audio","sdpMLineIndex":0}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:2429132211 1 udp 2122260223 192.168.0.18 57792 typ host generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"video","sdpMLineIndex":1}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:2429132211 2 udp 2122260222 192.168.0.18 64006 typ host generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"video","sdpMLineIndex":1}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:3729416515 1 tcp 1518280447 192.168.0.18 9 typ host tcptype active generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"audio","sdpMLineIndex":0}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:3729416515 2 tcp 1518280446 192.168.0.18 9 typ host tcptype active generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"audio","sdpMLineIndex":0}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:3729416515 1 tcp 1518280447 192.168.0.18 9 typ host tcptype active generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"video","sdpMLineIndex":1}}
webrtc.js:288 gotIceCandidate: {"ice":{"candidate":"candidate:3729416515 2 tcp 1518280446 192.168.0.18 9 typ host tcptype active generation 0 ufrag WwgM network-id 1 network-cost 10","sdpMid":"video","sdpMLineIndex":1}}
webrtc.js:173 wsConnection.onmessage: {"status":200,"statusDescription":"OK","direction":"publish","command":"sendOffer","streamInfo":{"applicationName":"rtc/_definst_","streamName":"1","sessionId":"1218790804"},"sdp":{"type":"answer","sdp":"v=0\r\no=WowzaStreamingEngine-next 133515783 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE audio video\r\na=msid-semantic: WMS *\r\nm=audio 9 UDP/TLS/RTP/SAVPF 111\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:bcea7054\r\na=ice-pwd:91ef4c0b0bbcbe5b4e0aed07727e2adb\r\na=fingerprint:sha-256 2B:21:93:E9:A8:5E:A4:C2:E6:97:87:4F:70:0F:F4:5A:1A:9D:0E:C1:5F:C3:A3:DE:A2:72:68:59:1A:1A:36:B4\r\na=setup:passive\r\na=mid:audio\r\nb=CT:64\r\nb=AS:64\r\na=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level\r\na=recvonly\r\na=rtcp-mux\r\na=rtpmap:111 opus/48000/2\r\na=fmtp:111 x-google-min-bitrate=64;x-google-max-bitrate=64\r\na=rtcp-fb:111 transport-cc\r\na=fmtp:111 minptime=10;useinbandfec=1\r\nm=video 9 UDP/TLS/RTP/SAVPF 100\r\nc=IN IP4 0.0.0.0\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=ice-ufrag:bcea7054\r\na=ice-pwd:91ef4c0b0bbcbe5b4e0aed07727e2adb\r\na=fingerprint:sha-256 2B:21:93:E9:A8:5E:A4:C2:E6:97:87:4F:70:0F:F4:5A:1A:9D:0E:C1:5F:C3:A3:DE:A2:72:68:59:1A:1A:36:B4\r\na=setup:passive\r\na=mid:video\r\nb=CT:360\r\nb=AS:360\r\na=framerate:29.97\r\na=extmap:2 urn:ietf:params:rtp-hdrext:toffset\r\na=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time\r\na=extmap:4 urn:3gpp:video-orientation\r\na=extmap:5 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01\r\na=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay\r\na=recvonly\r\na=rtcp-mux\r\na=rtcp-rsize\r\na=rtpmap:100 VP8/90000\r\na=fmtp:100 x-google-min-bitrate=360;x-google-max-bitrate=360\r\na=rtcp-fb:100 ccm fir\r\na=rtcp-fb:100 nack\r\na=rtcp-fb:100 nack pli\r\na=rtcp-fb:100 goog-remb\r\na=rtcp-fb:100 transport-cc\r\n"},"iceCandidates":[{"candidate":"candidate:0 1 UDP 50 [WOWZA SERVER IP] 6972 typ host generation 0","sdpMid":"","sdpMLineIndex":0}]}
webrtc.js:192 sdp: [object Object]
webrtc.js:204 iceCandidates: [object Object]
webrtc.js:218 wsConnection.onclose

Here is the _access.log

2017-03-10      22:20:54        CET     create  webrtc  INFO    200     -       -       _defaultVHost_  rtc     _definst_       0.002   -       80      null    89.137.183.225  webrtc  -       known   1218790804      0       0       1       0       0       0       1       -       -       -       -       -       null    null    -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCCommands.sendOffer[1]: audioCodec:opus    _defaultVHost_  rtc     _definst_       880.74  -       80      null    [MY IP]  webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCRTPHandler.bind: port:1   _defaultVHost_  rtc     _definst_       880.741 -       80      null    [MY IP]  webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCRTPHandler.bind: port:2   _defaultVHost_  rtc     _definst_       880.741 -       80      null    [MY IP]  webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCCommands.sendOffer[1]: videoCodec:VP8     _defaultVHost_  rtc     _definst_       880.742 -       80      null    [MY IP]  webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCRTPHandler.bind: port:3   _defaultVHost_  rtc     _definst_       880.743 -       80      null    [MY IP]  webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCRTPHandler.bind: port:4   _defaultVHost_  rtc     _definst_       880.747 -       80      null    [MY IP]  webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -
2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebRTCCommands.sendOffer[1]: iceCandidate:candidate:0 1 UDP 50 [Wowza public IP] 6972 typ host generation 0 _defaultVHost_  rtc     _definst_       880.747 -       80      null    [My IP] webrtc  -       known   1218790804      0       0       -       -       -       -       -       -       -       -       -       -       -       -       -       null    -2017-03-10      22:20:54        CET     comment server  INFO    200     -       WebSocketSession.destroy[2080764680]: source:client status:-1 description:Unknown

I have played around with WebRTC some time ago and it wouldn’t work remotely without a proper stun server. How would this work in the Wowza context?

Hello @Sebastiaan Peek

What browser are you testing your WebRTC “publish” with? If using Firefox, I would recommend version 51.0+

I would also recommend having the below ports open in your Firewall and port forward if going across networks.

TCP: 1935, 443, 9443 (if using Wowza Sample Web Server)

UDP: 6970-9999 and sometime up to 65535

If that does not help, please open a case here with the below info:

[install-dir]/conf
[install-dir]/logs (only latest logs showing a server reboot and connection attempts is needed)
[install-dir]/htdocs (if using)

Browser versions used.

If you are not sure how to get this information please see the following tutorial.https://www.wowza.com/docs/how-to-create-a-compressed-zip-file-in-windows-os-x-and-linux

Regards,

Jason

Better open all udp ports