adamrehn / pixel-streaming-linux

Issue tracker repository for Pixel Streaming for Linux
https://adamrehn.com/articles/pixel-streaming-in-linux-containers/
22 stars 7 forks source link

WebRTC connected, waiting for video #14

Closed salanki closed 4 years ago

salanki commented 4 years ago

Using your demo projects and Dockerfiles. Builds and launches fine, using host networking on the containers, connecting to it from local network.

Chrome gets stuck at "WebRTC connected, waiting for video". Browser console doesn't log any errors. A small amount of network data seems to be going back and forth over the network over UDP.

Have you seen this before? All hits on google seem to be related to NAT Traversal issues on the internet, but nothing on local.

Log from the WebRTCProxy:

[2020.07.20-22.11.42:095]: LOG: LogDefault     : FClientSession: ClientId=111

[2020.07.20-22.11.42:097]: LOG: LogDefault     : OnRenegotiationNeeded : ClientId=111

[2020.07.20-22.11.42:097]: LOG: LogDefault     : OnRenegotiationNeeded : ClientId=111

[2020.07.20-22.11.42:097]: LOG: LogDefault     : Received offer from client 111 : v=0
o=- 6840696475021810812 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=msid-semantic: WMS
m=audio 9 UDP/TLS/RTP/SAVPF 111 103 9 102 0 8 105 13 110 113 126
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:yoYJ
a=ice-pwd:CUbXlwPlvsVvl4pLRoX//4eN
a=ice-options:trickle
a=fingerprint:sha-256 62:1D:AF:7D:BE:BB:C3:13:48:EC:28:A7:88:07:44:8E:06:19:B4:6A:A1:59:E5:0B:78:82:87:43:BE:C5:C4:7A
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=sendrecv
a=msid:- 95fef19e-d87c-4b20-95c6-a9195636c277
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:9 G722/8000
a=rtpmap:102 ILBC/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:105 CN/16000
a=rtpmap:13 CN/8000
a=rtpmap:110 telephone-event/48000
a=rtpmap:113 telephone-event/16000
a=rtpmap:126 telephone-event/8000
a=ssrc:1526403690 cname:v3odgkFa5cIc5AdG
a=ssrc:1526403690 msid:- 95fef19e-d87c-4b20-95c6-a9195636c277
a=ssrc:1526403690 mslabel:-
a=ssrc:1526403690 label:95fef19e-d87c-4b20-95c6-a9195636c277
m=video 9 UDP/TLS/RTP/SAVPF 96 97 98 99 100 101 127 125 104
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:yoYJ
a=ice-pwd:CUbXlwPlvsVvl4pLRoX//4eN
a=ice-options:trickle
a=fingerprint:sha-256 62:1D:AF:7D:BE:BB:C3:13:48:EC:28:A7:88:07:44:8E:06:19:B4:6A:A1:59:E5:0B:78:82:87:43:BE:C5:C4:7A
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=sendrecv
a=msid:- 8923189a-6a24-4c17-ade0-d37b65cad2d8
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;x-google-start-bitrate=20000;x-google-max-bitrate=100000
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;x-google-start-bitrate=20000;x-google-max-bitrate=100000
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:100 VP8/90000
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=rtpmap:101 rtx/90000
a=fmtp:101 apt=100
a=rtpmap:127 red/90000
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=127
a=rtpmap:104 ulpfec/90000
a=ssrc-group:FID 2533893474 1332673495
a=ssrc:2533893474 cname:v3odgkFa5cIc5AdG
a=ssrc:2533893474 msid:- 8923189a-6a24-4c17-ade0-d37b65cad2d8
a=ssrc:2533893474 mslabel:-
a=ssrc:2533893474 label:8923189a-6a24-4c17-ade0-d37b65cad2d8
a=ssrc:1332673495 cname:v3odgkFa5cIc5AdG
a=ssrc:1332673495 msid:- 8923189a-6a24-4c17-ade0-d37b65cad2d8
a=ssrc:1332673495 mslabel:-
a=ssrc:1332673495 label:8923189a-6a24-4c17-ade0-d37b65cad2d8
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:yoYJ
a=ice-pwd:CUbXlwPlvsVvl4pLRoX//4eN
a=ice-options:trickle
a=fingerprint:sha-256 62:1D:AF:7D:BE:BB:C3:13:48:EC:28:A7:88:07:44:8E:06:19:B4:6A:A1:59:E5:0B:78:82:87:43:BE:C5:C4:7A
a=setup:actpass
a=mid:2
a=sctp-port:5000
a=max-message-size:262144

[2020.07.20-22.11.42:099]: LOG: LogDefault     : OnSignalingChange : ClientId=111, NewState=kHaveRemoteOffer

[2020.07.20-22.11.42:102]: LOG: LogDefault     : OnTrack : ClientId=111

[2020.07.20-22.11.42:102]: LOG: LogDefault     : OnTrack : ClientId=111

[2020.07.20-22.11.42:103]: LOG: LogDefault     : Answer for client 111 : v=0
o=- 1022912478413400659 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0 1 2
a=msid-semantic: WMS stream_id
m=audio 9 UDP/TLS/RTP/SAVPF 111 110
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:dhOO
a=ice-pwd:/dIRTEBXi5Ee5m2mY0arIXDQ
a=ice-options:trickle
a=fingerprint:sha-256 26:3A:2A:B1:C6:F9:3A:2D:58:89:1D:56:C5:89:F5:39:83:6E:70:62:12:03:CA:62:77:11:CB:45:C6:D6:82:44
a=setup:active
a=mid:0
a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level
a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:stream_id audio_label
a=rtcp-mux
a=rtpmap:111 opus/48000/2
a=rtcp-fb:111 transport-cc
a=fmtp:111 minptime=10;useinbandfec=1
a=rtpmap:110 telephone-event/48000
a=ssrc:967391511 cname:lXi3kp1VsGG0O9Iu
m=video 9 UDP/TLS/RTP/SAVPF 98 99 127 125 104
c=IN IP4 0.0.0.0
a=rtcp:9 IN IP4 0.0.0.0
a=ice-ufrag:dhOO
a=ice-pwd:/dIRTEBXi5Ee5m2mY0arIXDQ
a=ice-options:trickle
a=fingerprint:sha-256 26:3A:2A:B1:C6:F9:3A:2D:58:89:1D:56:C5:89:F5:39:83:6E:70:62:12:03:CA:62:77:11:CB:45:C6:D6:82:44
a=setup:active
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:4 urn:ietf:params:rtp-hdrext:sdes:mid
a=sendrecv
a=msid:stream_id video_label
a=rtcp-mux
a=rtcp-rsize
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=42e033
a=rtpmap:99 rtx/90000
a=fmtp:99 apt=98
a=rtpmap:127 red/90000
a=rtpmap:125 rtx/90000
a=fmtp:125 apt=127
a=rtpmap:104 ulpfec/90000
a=ssrc-group:FID 3729146039 1841577770
a=ssrc:3729146039 cname:lXi3kp1VsGG0O9Iu
a=ssrc:1841577770 cname:lXi3kp1VsGG0O9Iu
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
b=AS:30
a=ice-ufrag:dhOO
a=ice-pwd:/dIRTEBXi5Ee5m2mY0arIXDQ
a=ice-options:trickle
a=fingerprint:sha-256 26:3A:2A:B1:C6:F9:3A:2D:58:89:1D:56:C5:89:F5:39:83:6E:70:62:12:03:CA:62:77:11:CB:45:C6:D6:82:44
a=setup:active
a=mid:2
a=sctp-port:5000

[2020.07.20-22.11.42:103]: LOG: LogDefault     : OnSignalingChange : ClientId=111, NewState=kStable

[2020.07.20-22.11.42:108]: LOG: LogDefault     : OnIceGatheringChange : ClientId=111, NewState=kIceGatheringGathering

[2020.07.20-22.11.42:108]: LOG: LogDefault     : OnIceCandidate : ClientId=111

[2020.07.20-22.11.42:108]: LOG: LogDefault     : Sending ICE candidate to Client 111 (sdp_mline_index=0) : candidate:1853816369 1 udp 2122260223 10.135.11.12 38476 typ host generation 0 ufrag dhOO network-id 1

[2020.07.20-22.11.42:153]: LOG: LogDefault     : Received ICE candidate from Client 111 : {"candidate":"candidate:2655551076 1 udp 2113937151 f3bc43cd-8a59-43ac-9d43-78e4f06d5c75.local 61468 typ host generation 0 ufrag yoYJ network-cost 999","sdpMid":"0","sdpMLineIndex":0,"usernameFragment":"yoYJ"}

[2020.07.20-22.11.42:154]: LOG: LogDefault     : OnIceConnectionChange : ClientId=111, NewState=kIceConnectionChecking

[2020.07.20-22.11.42:154]: LOG: LogDefault     : Received ICE candidate from Client 111 : {"candidate":"candidate:2655551076 1 udp 2113937151 f3bc43cd-8a59-43ac-9d43-78e4f06d5c75.local 54797 typ host generation 0 ufrag yoYJ network-cost 999","sdpMid":"1","sdpMLineIndex":1,"usernameFragment":"yoYJ"}

[2020.07.20-22.11.42:154]: LOG: LogDefault     : Received ICE candidate from Client 111 : {"candidate":"candidate:2655551076 1 udp 2113937151 f3bc43cd-8a59-43ac-9d43-78e4f06d5c75.local 54312 typ host generation 0 ufrag yoYJ network-cost 999","sdpMid":"2","sdpMLineIndex":2,"usernameFragment":"yoYJ"}

[2020.07.20-22.11.42:209]: LOG: LogDefault     : OnIceCandidate : ClientId=111

[2020.07.20-22.11.42:209]: LOG: LogDefault     : Sending ICE candidate to Client 111 (sdp_mline_index=0) : candidate:553452225 1 tcp 1518280447 10.135.11.12 54489 typ host tcptype passive generation 0 ufrag dhOO network-id 1

[2020.07.20-22.11.42:209]: LOG: LogDefault     : OnIceGatheringChange : ClientId=111, NewState=kIceGatheringComplete

[2020.07.20-22.11.42:371]: LOG: LogDefault     : OnIceConnectionChange : ClientId=111, NewState=kIceConnectionConnected

[2020.07.20-22.11.42:384]: LOG: LogDefault     : key-frame requested, size=1

[2020.07.20-22.11.42:507]: LOG: LogDefault     : OnDataChannel : ClientId=111

[2020.07.20-22.11.44:086]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.11.45:086]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.11.46:086]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=56, lifted framerate=57

[2020.07.20-22.11.47:103]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.11.48:102]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=57, lifted framerate=58

[2020.07.20-22.11.49:102]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.11.51:118]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.11.52:119]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=57, lifted framerate=58

[2020.07.20-22.11.52:189]: LOG: LogDefault     : Client 111 disconnected

[2020.07.20-22.11.52:189]: LOG: LogDefault     : ~FClientSession: ClientId=111

[2020.07.20-22.11.54:136]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.11.55:137]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.11.57:153]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.11.58:153]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.12.00:186]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.12.01:186]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.12.03:187]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.12.04:203]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.12.06:204]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.12.07:204]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60

[2020.07.20-22.12.09:237]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=60, lifted framerate=61

[2020.07.20-22.12.10:254]: LOG: LogDefault     : SetRateAllocation : ClientId=110, Bitrate=20000 kbps, framerate=59, lifted framerate=60
salanki commented 4 years ago

This was due to running on a GPU without NVENC support.