lynckia / licode

Open Source Communication Provider based on WebRTC and Cloud technologies
http://lynckia.com/licode
MIT License
3.09k stars 1.02k forks source link

Media branch only showing black video for Chrome Version 30.0.1599.69 #40

Closed dennismartensson closed 10 years ago

dennismartensson commented 10 years ago

Hi, When using my code or the basic example with media branch I only get a black video in chrome Version 30.0.1599.69

Any fix on the way. This version of chrome is recogniced as Canary but its Chrome stable.

If I use firefox it works.

@gissues:{"order":50,"status":"inprogress"}

dennismartensson commented 10 years ago

I think its in the connection it brakes. Here is the log that shows a Ice Component failed...

Socket connect _1uHsl1HrDwRKCZSTZdb OK, Valid token Adding publisher peer_id 36970298667438330 SDP remote: v=0 o=- 418732185675522781 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video a=msid-semantic: WMS Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx m=audio 49876 RTP/SAVPF 111 103 104 0 8 107 106 105 13 126 c=IN IP4 192.168.1.69 a=rtcp:49876 IN IP4 192.168.1.69 a=candidate:1008872818 1 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1008872818 2 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1923207554 1 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=candidate:1923207554 2 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=ice-ufrag:9VZ9sCTDqztwOb/C a=ice-pwd:ZnI31clOPHFEPiMvStFK2rZH a=ice-options:google-ice a=fingerprint:sha-256 AC:56:DF:AA:47:08:03:A0:FF:D2:C5:54:5A:D4:D1:21:04:21:C4:C0:49:CE:39:07:FB:1F:4A:45:6D:EE:BB:D5 a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:W4e1MNwr4kiGyS+2xIgXVe5/cMxS6rABKIogl813 a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:107 CN/48000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:126 telephone-event/8000 a=maxptime:60 a=ssrc:693111742 cname:PyCMWVhfPZ7m3e/5 a=ssrc:693111742 msid:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxa0 a=ssrc:693111742 mslabel:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx a=ssrc:693111742 label:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxa0 m=video 49876 RTP/SAVPF 100 116 117 c=IN IP4 192.168.1.69 a=rtcp:49876 IN IP4 192.168.1.69 a=candidate:1008872818 1 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1008872818 2 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1923207554 1 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=candidate:1923207554 2 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=ice-ufrag:9VZ9sCTDqztwOb/C a=ice-pwd:ZnI31clOPHFEPiMvStFK2rZH a=ice-options:google-ice a=fingerprint:sha-256 AC:56:DF:AA:47:08:03:A0:FF:D2:C5:54:5A:D4:D1:21:04:21:C4:C0:49:CE:39:07:FB:1F:4A:45:6D:EE:BB:D5 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=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:W4e1MNwr4kiGyS+2xIgXVe5/cMxS6rABKIogl813 a=rtpmap:100 VP8/90000 a=rtcp-fb:100 ccm fir a=rtcp-fb:100 nack a=rtcp-fb:100 goog-remb a=rtpmap:116 red/90000 a=rtpmap:117 ulpfec/90000 a=ssrc:3257641633 cname:PyCMWVhfPZ7m3e/5 a=ssrc:3257641633 msid:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxv0 a=ssrc:3257641633 mslabel:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx a=ssrc:3257641633 label:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxv0

NiceConnection Destructor NiceConnection Destructor CloseSource Hecho! Generating internal RtpMap Generating internal RtpMap WebRtcConnection constructor WebRtcConnection constructor end SET PUBLISHER Set Remote SDP v=0 o=- 418732185675522781 2 IN IP4 127.0.0.1 s=- t=0 0 a=group:BUNDLE audio video a=msid-semantic: WMS Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx m=audio 49876 RTP/SAVPF 111 103 104 0 8 107 106 105 13 126 c=IN IP4 192.168.1.69 a=rtcp:49876 IN IP4 192.168.1.69 a=candidate:1008872818 1 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1008872818 2 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1923207554 1 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=candidate:1923207554 2 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=ice-ufrag:9VZ9sCTDqztwOb/C a=ice-pwd:ZnI31clOPHFEPiMvStFK2rZH a=ice-options:google-ice a=fingerprint:sha-256 AC:56:DF:AA:47:08:03:A0:FF:D2:C5:54:5A:D4:D1:21:04:21:C4:C0:49:CE:39:07:FB:1F:4A:45:6D:EE:BB:D5 a=mid:audio a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=sendrecv a=rtcp-mux a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:W4e1MNwr4kiGyS+2xIgXVe5/cMxS6rABKIogl813 a=rtpmap:111 opus/48000/2 a=fmtp:111 minptime=10 a=rtpmap:103 ISAC/16000 a=rtpmap:104 ISAC/32000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:107 CN/48000 a=rtpmap:106 CN/32000 a=rtpmap:105 CN/16000 a=rtpmap:13 CN/8000 a=rtpmap:126 telephone-event/8000 a=maxptime:60 a=ssrc:693111742 cname:PyCMWVhfPZ7m3e/5 a=ssrc:693111742 msid:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxa0 a=ssrc:693111742 mslabel:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx a=ssrc:693111742 label:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxa0 m=video 49876 RTP/SAVPF 100 116 117 c=IN IP4 192.168.1.69 a=rtcp:49876 IN IP4 192.168.1.69 a=candidate:1008872818 1 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1008872818 2 udp 2113937151 192.168.1.69 49876 typ host generation 0 a=candidate:1923207554 1 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=candidate:1923207554 2 tcp 1509957375 192.168.1.69 0 typ host generation 0 a=ice-ufrag:9VZ9sCTDqztwOb/C a=ice-pwd:ZnI31clOPHFEPiMvStFK2rZH a=ice-options:google-ice a=fingerprint:sha-256 AC:56:DF:AA:47:08:03:A0:FF:D2:C5:54:5A:D4:D1:21:04:21:C4:C0:49:CE:39:07:FB:1F:4A:45:6D:EE:BB:D5 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=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:W4e1MNwr4kiGyS+2xIgXVe5/cMxS6rABKIogl813 a=rtpmap:100 VP8/90000 a=rtcp-fb:100 ccm fir a=rtcp-fb:100 nack a=rtcp-fb:100 goog-remb a=rtpmap:116 red/90000 a=rtpmap:117 ulpfec/90000 a=ssrc:3257641633 cname:PyCMWVhfPZ7m3e/5 a=ssrc:3257641633 msid:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxv0 a=ssrc:3257641633 mslabel:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKx a=ssrc:3257641633 label:Nl2nyP04k94DH3hLfRJe3PxnmXcQSIpvIAKxv0 PROFILE SAVPF 111 103 104 0 8 107 106 105 13 126 (1 SAVPF) Fingerprint AC:56:DF:AA:47:08:03:A0:FF:D2:C5:54:5A:D4:D1:21:04:21:C4:C0:49:CE:39:07:FB:1F:4A:45:6D:EE:BB:D5

Mapping PCMU/8000:0 to PCMU/8000:0 Mapping telephone-event/8000:126 to telephone-event/8000:126 PROFILE SAVPF 100 116 117 (1 SAVPF) Fingerprint AC:56:DF:AA:47:08:03:A0:FF:D2:C5:54:5A:D4:D1:21:04:21:C4:C0:49:CE:39:07:FB:1F:4A:45:6D:EE:BB:D5

Mapping VP8/90000:100 to VP8/90000:100 Is bundle? 1 1 Video 1 videossrc 3257641633 Audio 1 audio ssrc 693111742 Bundle 1 Setting SSRC to localSdp 55543 Initializing DtlsTransport Updating transport state to 0 Creating Dtls factory Dtls factory created Creating Dtls Socket stats 32283920 Dtls Socket created Initializing DtlsTransport Updating transport state to 0 Creating Dtls factory New NICE state 0 0 1 Creating Main Context Creating Main Loop Creating Agent Adding Stream... Number of components 1 Dtls factory created Creating Dtls Socket stats 59013376 Dtls Socket created New NICE state 0 1 1 Creating Main Context Creating Main Loop Creating Agent Ignoring IPV6 candidate 2a01:7e00::f03c:91ff:fe69:5b2d candidate_gathering done with 2 candidates New NICE state 1 0 1 Updating transport state to 1 Setting remote candidates 4 New Candidate SET 192.168.1.69 49876 cb_component_state_changed 1 - 2 Candidates SET New NICE state 2 0 1 Adding Stream... Number of components 1 Ignoring IPV6 candidate 2a01:7e00::f03c:91ff:fe69:5b2d candidate_gathering done with 2 candidates New NICE state 1 1 1 Updating transport state to 1 Setting remote candidates 4 New Candidate SET 192.168.1.69 49876 Candidates SET New NICE state 2 0 1 Get local SDP Getting SDP Processing Local SDP in DTLS Transport Candidates: 2 Adding bundle candidate! 0 Adding bundle candidate! 0 Processed Local SDP in DTLS Transport Video SDP done. Audio SDP done. Getting SDP sdp local v=0 o=- 0 0 IN IP4 127.0.0.1 s= t=0 0 a=group:BUNDLE audio video a=msid-semantic: WMS brvw52yQhS m=audio 39794 RTP/SAVPF 0 126 c=IN IP4 192.168.131.60 a=rtcp:39794 IN IP4 192.168.131.60 a=candidate:2 1 udp 2013266431 192.168.131.60 39794 typ host generation 0 a=candidate:3 1 udp 2013266431 178.79.183.200 56318 typ host generation 0 a=ice-ufrag:A0+w a=ice-pwd:Kvb13g8y6j+pEV0Lb+NVG/ a=fingerprint:sha-256 8D:9B:D2:2D:50:35:99:9F:19:83:F8:2A:47:A9:A6:27:36:24:2F:D2:22:7B:8A:CA:D2:61:BA:D7:AF:9D:BF:BD a=sendrecv a=mid:audio a=rtcp-mux a=rtpmap:0 PCMU/8000 a=rtpmap:126 telephone-event/8000 a=maxptime:60 a=ssrc:44444 cname:o/i14u9pJrxRKAsu a=ssrc:44444 msid:brvw52yQhS a0 a=ssrc:44444 mslabel:brvw52yQhS a=ssrc:44444 label:brvw52yQhSa0 m=video 39794 RTP/SAVPF 100 c=IN IP4 192.168.131.60 a=rtcp:39794 IN IP4 192.168.131.60 a=candidate:2 1 udp 2013266431 192.168.131.60 39794 typ host generation 0 a=candidate:3 1 udp 2013266431 178.79.183.200 56318 typ host generation 0 a=ice-ufrag:A0+w a=ice-pwd:Kvb13g8y6j+pEV0Lb+NVG/ a=extmap:2 urn:ietf:params:rtp-hdrext:toffset a=extmap:3 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=fingerprint:sha-256 8D:9B:D2:2D:50:35:99:9F:19:83:F8:2A:47:A9:A6:27:36:24:2F:D2:22:7B:8A:CA:D2:61:BA:D7:AF:9D:BF:BD a=sendrecv a=mid:video a=rtcp-mux a=rtpmap:100 VP8/90000 a=rtcp-fb:100 ccm fir a=rtcp-fb:100 nack a=ssrc:55543 cname:o/i14u9pJrxRKAsu a=ssrc:55543 msid:brvw52yQhS v0 a=ssrc:55543 mslabel:brvw52yQhS a=ssrc:55543 label:brvw52yQhSv0

cb_component_state_changed 1 - 5 Ice Component failed New NICE state 5 0 1

Any one more then my having this problem with the latest Chrome?

dennismartensson commented 10 years ago

There is also a problem in chrome 29 so there is some other problem then chrome version.

dennismartensson commented 10 years ago

I think that #37 can be connected to this problem. Sense the connection is not created correctly.

dennismartensson commented 10 years ago

I have this problem in the cleanup branch to.

jcague commented 10 years ago

@dennismartensson From the logs it seems Erizo and the browser are hosted on different networks. Am I right?

dennismartensson commented 10 years ago

Yes not the same network. But if I run the former maste branch on the same server as the media branch and client I get video and not the failed ice.

I am installing the merge master now and will try that.

jcague commented 10 years ago

Ok, maybe you're using a Stun server from Erizo. This feature was only added in master branch and not in cleanup. So, maybe if you install the new master version and set up a Stun server you could connect both.

On 21 October 2013 22:37, Dennis notifications@github.com wrote:

Yes not the same network. But if I run the former maste branch on the same server as the media branch and client I get video and not the failed ice.

I am installing the merge master now and will try that.

— Reply to this email directly or view it on GitHubhttps://github.com/ging/licode/issues/40#issuecomment-26753925 .

dennismartensson commented 10 years ago

Okej I will try that. How do I tell it to use the integrated stun and turn server?

dennismartensson commented 10 years ago

Hi,

I did install the new master branch and still have the problem of black video in chrome.

Here is my licode_config.js

var config = {}

config.rabbit = {}; config.nuve = {}; config.erizoController = {}; config.cloudProvider = {}; config.erizo = {};

config.rabbit.host = 'localhost'; config.rabbit.port = 5672;

config.nuve.dataBaseURL = "localhost/nuvedb"; config.nuve.superserviceID = '5265acc05c14ec32cf23d22b'; config.nuve.superserviceKey = '9811'; config.nuve.testErizoController = 'localhost:8080';

//Use undefined to run clients without Stun config.erizoController.stunServerUrl = 'stun:stun.1.google.com:19302'; config.erizoController.warning_n_rooms = 15; config.erizoController.limit_n_rooms = 9000000; config.erizoController.interval_time_keepAlive = 1000;

//STUN server IP address and port to be used by the server. //if '' is used, the address is discovered locally config.erizo.stunserver = ''; config.erizo.stunport = 0;

//note, this won't work with all versions of libnice. With 0 all the available ports are used config.erizo.minport = 0; config.erizo.maxport = 0;

config.cloudProvider.name = ''; //In Amazon Ec2 instances you can specify the zone host. By default is 'ec2.us-east-1a.amazonaws.com' config.cloudProvider.host = ''; config.cloudProvider.accessKey = ''; config.cloudProvider.secretAccessKey = '';

module.exports = config;

if I run chrome as sender i get no video in chrome or firefox, If i run firefox as sender i get video in firefox but not chrome.

Any ide?

dennismartensson commented 10 years ago

@jcague any idee with the stun server fix you where talking about?

jcague commented 10 years ago

Yes, but I'm confused since you said it works on Firefox. Now I'm not sure if the stun config will be the solution.

Any way you can try it by changing the next lines:

//STUN server IP address and port to be used by the server. //if '' is used, the address is discovered locally config.erizo.stunserver = "74.125.132.127"; config.erizo.stunport = 19302;

There seems to be an error also in another line of the config file, please update with this one (I will change it in the code as well):

config.erizoController.stunServerUrl = 'stun:stun.l.google.com:19302';

And you have to restart erizoController to apply the changes.

dennismartensson commented 10 years ago

I did the changes but still black...

Any more ides @jcague? Have any one else reported this?

Really frustrated because i don't get this problem. Can it be a problem in erizo.js on client so I should replace it?

jcague commented 10 years ago

Please @dennismartensson can you send us the logs to see how the connection is established (or not) now?

dennismartensson commented 10 years ago

@jcague Here is a new installation and its logs for one broadcaster and one viewer. I chrome but no video...

data: erizoController.js:30151 - 2013-10-24T10:14:35.123Z - info: Initialized logger data: erizoController.js:30151 - 2013-10-24T10:14:35.633Z - info: Exchange rpcExchange is open data: erizoController.js:30151 - 2013-10-24T10:14:35.637Z - info: ClientQueue amq.gen-QrMWxX3_GG0HPrwI8gB-o3 is open data: erizoController.js:30151 - 2013-10-24T10:14:35.728Z - info: Queue erizoController_1 is open data: erizoController.js:30151 - 2013-10-24T10:16:53.668Z - info: Socket connect BroS99Jg8U96CdLU9WUu data: erizoController.js:30151 - 2013-10-24T10:16:53.769Z - info: OK, Valid token data: erizoController.js:30151 - 2013-10-24T10:17:03.625Z - info: Adding publisher peer_id 52162376861087976 data: erizoController.js:30151 - 2013-10-24 10:17:03,637 - WARN: WebRtcConnection - WebRtcConnection constructor stunserver stunPort 0 minPort 0 maxPort 0 data: erizoController.js:30151 - 2013-10-24 10:17:03,824 - INFO: NiceConnection - candidate_gathering done with 2 candidates data: erizoController.js:30151 - 2013-10-24 10:17:03,825 - INFO: NiceConnection - candidate_gathering done with 2 candidates data: erizoController.js:30151 - 2013-10-24T10:19:01.777Z - info: Socket connect CnXLNg5bcaXDfJCQ9WUv data: erizoController.js:30151 - 2013-10-24T10:19:01.856Z - info: OK, Valid token data: erizoController.js:30151 - 2013-10-24T10:19:04.938Z - info: Socket disconnect CnXLNg5bcaXDfJCQ9WUv data: erizoController.js:30151 - 2013-10-24T10:19:19.346Z - info: Socket connect tpn-HHyVnPGR3AfM9WUw data: erizoController.js:30151 - 2013-10-24T10:19:19.405Z - info: OK, Valid token data: erizoController.js:30151 - 2013-10-24T10:19:29.191Z - info: Adding subscriber from tpn-HHyVnPGR3AfM9WUw to 52162376861087976 data: erizoController.js:30151 - 2013-10-24 10:19:29,191 - WARN: WebRtcConnection - WebRtcConnection constructor stunserver stunPort 0 minPort 0 maxPort 0 data: erizoController.js:30151 - 2013-10-24 10:19:29,193 - INFO: NiceConnection - candidate_gathering done with 2 candidates data: erizoController.js:30151 - 2013-10-24 10:19:29,194 - INFO: NiceConnection - candidate_gathering done with 2 candidates

data: nuve.js:30128 - connect.multipart() will be removed in connect 3.0 data: nuve.js:30128 - visit https://github.com/senchalabs/connect/wiki/Connect-3.0 for alternatives data: nuve.js:30128 - connect.limit() will be removed in connect 3.0 data: nuve.js:30128 - Conected to rabbitMQ server data: nuve.js:30128 - Exchange rpcExchange is open data: nuve.js:30128 - Queue nuveQueue is open data: nuve.js:30128 - ClientQueue amq.gen-AHYvnSFxSQXfqg1u8xON8e is open data: nuve.js:30128 - New erizocontroller ( 1 ) in: 178.79.143.114 data: nuve.js:30128 - Representing rooms for service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Representing rooms for service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Room created: 52388a11d1d4eab75200000131e0 for service superService p2p = undefined data: nuve.js:30128 - Created token for room 5268f391d2254fb075000001 and service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Consumed token 5268f391d2254fb075000002 from room 5268f391d2254fb075000001 of service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Representing rooms for service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Representing rooms for service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Created token for room 5268f391d2254fb075000001 and service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Consumed token 5268f415d2254fb075000003 from room 5268f391d2254fb075000001 of service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Representing rooms for service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Representing rooms for service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Created token for room 5268f391d2254fb075000001 and service 5268e3ea9e96273adb4fffa8 data: nuve.js:30128 - Consumed token 5268f427d2254fb075000004 from room 5268f391d2254fb075000001 of service 5268e3ea9e96273adb4fffa8

Can you see any thing?

If I sit on the same network with the same vps and run the old master I get video.

jcague commented 10 years ago

Hi @dennismartensson, I was trying to figure out your problem but now I see the issue is closed. Did you come up with a solution?

dennismartensson commented 10 years ago

Yes I was able to fix it. Thanks for all the help!

tadasmi commented 10 years ago

Hi there, can you tell me what was the solution to fix this issue? Thanks.

dennismartensson commented 10 years ago

@tadasmi try updating your erizo.js fil and add make sure the network you are allows stun and turn to work.

tadasmi commented 10 years ago

Thanks for the answer, will try that :)

faishal commented 10 years ago

@dennismartensson can you guide me for updating erizo.js . i am still facing same issue

ghost commented 10 years ago

I am using the latest code and have the same problem, could somebody update the code or give a solution here please? I tried everything mentioned here, I couldn't make it work, and erizo never worked. I am testing on my local machine, this means server and client are on the same machine.