Timeout hit waiting for stream to start. on Chrome + WebRTC screen sharing

987 views
Skip to first unread message

German Acevedo

unread,
Nov 8, 2018, 8:45:35 AM11/8/18
to BigBlueButton-dev
I'm running BBB Build 934 on my server, but suddenly it started to have a unusual behaviour with WebRTC screen sharing.
I can share my screen with Firefox without any troubles, but if I try to share the screen from Chrome it gives the error message "Timeout hit waiting for stream to start.".
I have tried at demo.bigbluebutton.org and screen sharing via WebRTC using Chrome works without any errors, so I believe that this may be something about my server, and that it's not related to my computer or internet connection.
What should I look for?
Thanks in advance for any help!
Regards,
German

robert rottermann

unread,
Nov 8, 2018, 9:54:12 AM11/8/18
to BigBlueButton-dev
I have the same problem that screensharing is timing out.
but with both chrome and firefox.
For both demo.bigbluebutton.org works fine
robert

Chad Pilkey

unread,
Nov 8, 2018, 11:46:09 AM11/8/18
to BigBlueButton-dev
Do you guys have HTTPS enabled on your servers? Also, which client are you using?

robert rottermann

unread,
Nov 8, 2018, 12:15:13 PM11/8/18
to BigBlueButton-dev
I assume that ssh is installed, as I use the following to install/upgrade bbb
./bbb-install.sh -v xenial-200 -s bbb2.odoo-university.com -e rob...@redcor.ch -t -g

as client I use the flash based "default" client

robert

German Acevedo

unread,
Nov 8, 2018, 12:49:42 PM11/8/18
to bigblueb...@googlegroups.com
Yes, I'm using SSL enabled with Let's Encrypt certificate.
This is happening with the Flash Client. 

--
You received this message because you are subscribed to a topic in the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/bigbluebutton-dev/5-Jfrjn--nE/unsubscribe.
To unsubscribe from this group and all its topics, send an email to bigbluebutton-...@googlegroups.com.
To post to this group, send email to bigblueb...@googlegroups.com.
Visit this group at https://groups.google.com/group/bigbluebutton-dev.
For more options, visit https://groups.google.com/d/optout.

Chad Pilkey

unread,
Nov 8, 2018, 2:30:08 PM11/8/18
to BigBlueButton-dev
I think you guys have different problems at their root. The Flash client is presenting the same error message, but German's server works fine in Firefox and Robert's doesn't work in any browser. Can you try screensharing in the HTML5 client and let me know if that works, or if it fails then I'd need the error message and code. The error reporting for WebRTC screensharing is a little bit better in the HTML5 client.

robert

unread,
Nov 8, 2018, 4:06:27 PM11/8/18
to bigblueb...@googlegroups.com

and how do I tell the browser to use the html5 client?
I got a question to select the html5 client only when the flash plugin was not installed.

thanks robert

You received this message because you are subscribed to the Google Groups "BigBlueButton-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bigbluebutton-...@googlegroups.com.

Chad Pilkey

unread,
Nov 8, 2018, 4:09:00 PM11/8/18
to BigBlueButton-dev
You can use the demo pages to go to the HTML5 client directly. <server>/demo/demoHTML5.jsp

robert

unread,
Nov 8, 2018, 4:46:15 PM11/8/18
to bigblueb...@googlegroups.com


On 08.11.18 22:09, Chad Pilkey wrote:
You can use the demo pages to go to the HTML5 client directly. <server>/demo/demoHTML5.jsp

If I try to start screensharing I can select the window to share, after hitting allow the selected window gets the focus, while in the background for some seconds a message:

Error 1108: ICE connection ... failed  (the error is German)

is displayed.

I did create a chrome extension and did adapt the servers setting according to the instructions found on github.

However I had that same timeout message in firefox before.

robert

German Acevedo

unread,
Nov 9, 2018, 12:08:06 AM11/9/18
to bigblueb...@googlegroups.com
Hi, thanks for your support Chad, I have it working now on Chrome and in Firefox.
This is what I did:
  • Updated my BBB to build 944
  • Configured my extension for HTML5
  • Reboot my server
  • Tested first the HTML5 client and screen sharing was working for Chrome and Firefox
  • Tested the Flash client in Chrome and Firefox: Failed in both browsers!
  • Cleaned the caché and cookies in both browsers
  • Tested again the Flash client in Firefox and Chrome and this time it's working in both browsers! I can see even in the HTML5 client the screen shared from Flash.
Maybe Robert can try first just to clear the cache on both browsers and test again.

Regards,

German

Chad Pilkey

unread,
Nov 9, 2018, 11:27:08 AM11/9/18
to BigBlueButton-dev
Robert's issue is going to be networking related. The usual cause is that the UDP ports are blocked or the candidate being sent by the server isn't a public IP. The screenshare is a little bit different from the audio though so I'm not 100% sure how to debug further.

It's possible that there's something interesting in the Kurento (/var/log/kurento-media-server/) or SFU (/var/log/bbb-webrtc/sfu) logs. It could also be a problem in one of the Kurento configuration files (/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini or /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml).

Paulo R. Lanzarin

unread,
Nov 11, 2018, 9:27:17 PM11/11/18
to bigblueb...@googlegroups.com
If Robert couldn't figure out what's happening yet, the output of the config files Chad mentioned would help us
pinpoint the issue

It's possible that there's something interesting in the Kurento (/var/log/kurento-media-server/) or SFU (/var/log/bbb-webrtc/sfu) logs. It could also be a problem in one of the Kurento configuration files (/etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini or /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml).

Also, Robert, it'd be helpful if you could try sharing your screen on Firefox with about:webrtc open and on Chrome with chrome://webrtc-internals open, generate a dump of both of those pages and attach them here (redact your IP/server address if you feel the need to do so).

robert rottermann

unread,
Nov 13, 2018, 6:25:18 AM11/13/18
to bigblueb...@googlegroups.com, plan...@gmail.com

Thanks for you suggestions.

I checked the logs after a bbb-conf --clean

/var/log/kurento-media-server/..  just tells that the server has started:

    info KurentoMediaServer        main.cpp:255 main()  Kurento Media Server started

here is the output of: tail -f /var/log/bbb-webrtc-sfu/bbb-webrtc-sfu.log.2018-13-11
I added comments to indicate what I did  in the browser:
---------------------------------------------------------------------------

root@bbb2 ~ # tail -f /var/log/bbb-webrtc-sfu/bbb-webrtc-sfu.log.2018-13-11 
{"level":"info","message":"[RedisWrapper] Successfully subscribed to pattern [from-akka-apps-redis-channel]","timestamp":"2018-11-13T10:33:00.298Z"}
{"level":"info","message":"[RedisWrapper] Started Redis client at 127.0.0.1:6379 for subscription pattern: to-screenshare-sfu","timestamp":"2018-11-13T10:33:00.298Z"}
{"level":"info","message":"[BigBlueButtonGW] Added redis client to this.subscribers[to-screenshare-sfu]","timestamp":"2018-11-13T10:33:00.308Z"}
{"level":"info","message":"[RedisWrapper] Started Redis client at 127.0.0.1:6379 for subscription pattern: bigbluebutton:from-bbb-transcode:system","timestamp":"2018-11-13T10:33:00.309Z"}
{"level":"info","message":"[BigBlueButtonGW] Added redis client to this.subscribers[bigbluebutton:from-bbb-transcode:system]","timestamp":"2018-11-13T10:33:00.309Z"}
{"level":"info","message":"[RedisWrapper] Started Redis client at 127.0.0.1:6379 for subscription pattern: from-akka-apps-redis-channel","timestamp":"2018-11-13T10:33:00.309Z"}
{"level":"info","message":"[BigBlueButtonGW] Added redis client to this.subscribers[from-akka-apps-redis-channel]","timestamp":"2018-11-13T10:33:00.309Z"}
{"level":"info","message":"[RedisWrapper] Successfully subscribed to pattern [to-screenshare-sfu]","timestamp":"2018-11-13T10:33:00.322Z"}
{"level":"info","message":"[RedisWrapper] Successfully subscribed to pattern [bigbluebutton:from-bbb-transcode:system]","timestamp":"2018-11-13T10:33:00.322Z"}
{"level":"info","message":"[RedisWrapper] Successfully subscribed to pattern [from-akka-apps-redis-channel]","timestamp":"2018-11-13T10:33:00.322Z"}
------------------------------------------ after starting the room before starting screensharing
{"level":"info","message":"[WebsocketConnectionManager] New connection with id [ 0 ]","timestamp":"2018-11-13T10:35:05.814Z"}
----------------------------- after starting screenshare before selecting winwow 
{"level":"info","message":"[screenshare] Starting session 40980-send","timestamp":"2018-11-13T10:36:03.259Z"}
{"level":"info","message":"[mcs-controller] Join room => b606d0c2242f2a4b68eda68b8ee3037290067b1b-1542105267961 as SFU","timestamp":"2018-11-13T10:36:03.259Z"}
{"level":"info","message":"[mcs-controller] Creating new room with ID b606d0c2242f2a4b68eda68b8ee3037290067b1b-1542105267961","timestamp":"2018-11-13T10:36:03.259Z"}
{"level":"info","message":"[mcs-controller] Creating a new SFU user at room b606d0c2242f2a4b68eda68b8ee3037290067b1b-1542105267961","timestamp":"2018-11-13T10:36:03.260Z"}
{"level":"info","message":"[mcs-controller] Resolving user hidden-mountain-VjPYCk3","timestamp":"2018-11-13T10:36:03.260Z"}
{"level":"info","message":"[screenshare] MCS Join for 0 returned hidden-mountain-VjPYCk3","timestamp":"2018-11-13T10:36:03.260Z"}
{"level":"info","message":"[mcs-controller] Publish from user hidden-mountain-VjPYCk3 to room b606d0c2242f2a4b68eda68b8ee3037290067b1b-1542105267961","timestamp":"2018-11-13T10:36:03.261Z"}
{"level":"info","message":"[mcs-controller] Fetched user hidden-mountain-VjPYCk3","timestamp":"2018-11-13T10:36:03.261Z"}
{"level":"info","message":"[mcs-media-session] Session is using the Kurento adapter","timestamp":"2018-11-13T10:36:03.262Z"}
{"descriptor":"v=0\r\no=- 3543214791902125324 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=msid-semantic: WMS Td26iatqx4n0c0mhwr5zshISLxyYtsWO5GS9\r\na=group:BUNDLE video\r\nm=video 9 UDP/TLS/RTP/SAVPF 127 125\r\nc=IN IP4 0.0.0.0\r\na=rtpmap:127 H264/90000\r\na=rtpmap:125 H264/90000\r\na=fmtp:127 level-asymmetry-allowed=1;packetization-mode=1;profile-level-id=42e01f\r\na=fmtp:125 level-asymmetry-allowed=1;packetization-mode=0;profile-level-id=42e01f\r\na=rtcp:9 IN IP4 0.0.0.0\r\na=rtcp-fb:127 goog-remb\r\na=rtcp-fb:127 transport-cc\r\na=rtcp-fb:127 ccm fir\r\na=rtcp-fb:127 nack\r\na=rtcp-fb:127 nack pli\r\na=rtcp-fb:125 goog-remb\r\na=rtcp-fb:125 transport-cc\r\na=rtcp-fb:125 ccm fir\r\na=rtcp-fb:125 nack\r\na=rtcp-fb:125 nack pli\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=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type\r\na=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/video-timing\r\na=setup:actpass\r\na=mid:video\r\na=sendonly\r\na=ice-ufrag:c03a\r\na=ice-pwd:5WZUZPs3XcHvs53g3zUMRR6Z\r\na=fingerprint:sha-256 00:88:CA:E0:D8:F4:E9:74:B6:5E:32:DC:9C:EE:8D:97:B8:E5:DE:6E:D7:1A:2B:10:6E:AF:35:21:4F:C5:4E:CA\r\na=ice-options:trickle\r\na=ssrc:2982586084 cname:kBOJl/YR5Ty8mcYQ\r\na=ssrc:2982586084 msid:Td26iatqx4n0c0mhwr5zshISLxyYtsWO5GS9 87abbd37-54d9-4b4b-affd-48a6eadbb675\r\na=ssrc:2982586084 mslabel:Td26iatqx4n0c0mhwr5zshISLxyYtsWO5GS9\r\na=ssrc:2982586084 label:87abbd37-54d9-4b4b-affd-48a6eadbb675\r\na=ssrc:332507509 cname:kBOJl/YR5Ty8mcYQ\r\na=ssrc:332507509 msid:Td26iatqx4n0c0mhwr5zshISLxyYtsWO5GS9 87abbd37-54d9-4b4b-affd-48a6eadbb675\r\na=ssrc:332507509 mslabel:Td26iatqx4n0c0mhwr5zshISLxyYtsWO5GS9\r\na=ssrc:332507509 label:87abbd37-54d9-4b4b-affd-48a6eadbb675\r\na=ssrc-group:FID 2982586084 332507509\r\na=rtcp-mux\r\na=rtcp-rsize\r\n","targetBitrate":0,"level":"info","message":"[mcs-sdp-session] New session with options","timestamp":"2018-11-13T10:36:03.262Z"}
{"level":"info","message":"[mcs-sfu-user] Added new SDP session proud-flower-k1EVUe7 to user hidden-mountain-VjPYCk3","timestamp":"2018-11-13T10:36:03.271Z"}
{"level":"info","message":"[Screenshare] RecordingStatusReply  true","timestamp":"2018-11-13T10:36:03.286Z"}
{"level":"info","message":"[Screenshare] RecordingStatusReply  true","timestamp":"2018-11-13T10:36:15.592Z"}
-------------------------- after selecting window, waiting for connection
-------------------------- timeout
{"level":"info","message":"[WebsocketConnectionManager] Closed connection on [0]","timestamp":"2018-11-13T10:37:13.705Z"}
{"level":"info","message":"[ScreenshareManager] Connection 0 closed","timestamp":"2018-11-13T10:37:13.707Z"}
{"level":"info","message":"[ScreenshareManager] Stopping presenter 40980","timestamp":"2018-11-13T10:37:13.707Z"}
{"level":"info","message":"[ScreenshareManager] Stopping session 40980","timestamp":"2018-11-13T10:37:13.708Z"}
{"level":"info","message":"[screnshare] Stopping and releasing endpoints for MCS user hidden-mountain-VjPYCk3","timestamp":"2018-11-13T10:37:13.708Z"}
{"level":"info","message":"[screenshare] Stopping screensharing with status MEDIA_STARTING","timestamp":"2018-11-13T10:37:13.709Z"}
{"level":"info","message":"[screenshare] _stopRtmpBroadcast for meeting b606d0c2242f2a4b68eda68b8ee3037290067b1b-1542105267961","timestamp":"2018-11-13T10:37:13.711Z"}
{"level":"info","message":"[screenshare] Leaving mcs room","timestamp":"2018-11-13T10:37:13.715Z"}
{"level":"info","message":"[mcs-controller] User => hidden-mountain-VjPYCk3 wants to leave ","timestamp":"2018-11-13T10:37:13.716Z"}
{"level":"info","message":"[mcs-sfu-user] User sessions will be killed","timestamp":"2018-11-13T10:37:13.717Z"}
{"level":"info","message":"[mcs-sfu-user] Stopping session => proud-flower-k1EVUe7","timestamp":"2018-11-13T10:37:13.717Z"}
{"level":"info","message":"Recording key will expire in 1209600 seconds","timestamp":"2018-11-13T10:37:13.721Z"}
------------------- stopped
{"level":"info","message":"[Screenshare] RecordingStatusReply  true","timestamp":"2018-11-13T10:37:17.936Z"}
 

this is the content of /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
-----------------------------------------------------------------------------------------------------

; Only IP address are supported, not domain names for addresses
; You have to find a valid stun server. You can check if it works
; usin this tool:
;   http://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
stunServerAddress=64.233.177.127
stunServerPort=19302
; turnURL gives the necessary info to configure TURN for WebRTC.
;    'address' must be an IP (not a domain).
;    'transport' is optional (UDP by default).
; turnURL=user:password@address:port(?transport=[udp|tcp|tls])
;pemCertificate is deprecated. Please use pemCertificateRSA instead
;pemCertificate=<path>
;pemCertificateRSA=<path>
;pemCertificateECDSA=<path>


this is the content of /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml:
---------------------------------------------------------------------------------------------------------

# Websocket URL under which kurento is listening
kurentoUrl: ws://bbb2.odoo-university.com:8888/kurento
# The external IP of the host where Kurento is located
kurentoIp: 159.69.45.101
# The external IP of the host where Red5/BBB is located. Used for the RTMP url
localIpAddress: 159.69.45.101
acceptSelfSignedCertificate: false
redisHost : "127.0.0.1"
redisPort : "6379"
# Port under which bbb-webrtc-sfu serves client
clientPort : "3008"
# The following UDP port boundary is related to the ports ffmpeg can use to generate the RTMP stream
minVideoPort: 30000
maxVideoPort: 33000
# Timeout (ms) that triggers a failure when no media has reached the server
mediaFlowTimeoutDuration: 5000
from-screenshare: "from-screenshare-sfu"
to-screenshare: "to-screenshare-sfu"
from-video: "from-video-sfu"
to-video: "to-video-sfu"
from-audio: "from-audio-sfu"
to-audio: "to-audio-sfu"
to-akka: "to-akka-apps-redis-channel"
from-akka: "from-akka-apps-redis-channel"
common-message-version: "2.x"
# FORCES H.264 for webcams. Endpoints without H.264 WILL NOT WORK.
# Disabling it will make the process go untouched and may cause transcoding.
webcam-force-h264: true
# Preferred H.264 profile-level-id for webcams. Forces everyone to use CB
webcam-preferred-h264-profile: "42e01f"
# Target bitrate (kbps) for webcams. Value 0 leaves it unconstrained.
webcam-target-bitrate: 300
# FORCES H.264 for screenshare. Endpoints without H.264 WILL NOT WORK.
# Disabling it will make the process go untouched and may cause transcoding.
screenshare-force-h264: true
# Preferred H.264 profile-level-id for screenshare. Forces everyone to use CB
screenshare-preferred-h264-profile: "42e01f"
# Base interval for keyframe requsitions to the screenshare streamer
screenshareKeyframeInterval: 2
# Target bitrate (kbps) for screenshare. Value 0 leaves it unconstrained.
screenshare-target-bitrate: 0
# Size of the websocket pool SFU uses to connect to Kurento.
kurento-websocket-pool-size: 1

recordScreenSharing: true
recordWebcams: true
recordingBasePath: "file:///var/kurento"

recordingMediaProfile: 'MKV_VIDEO_ONLY'
recordingFormat: 'mkv'
redisExpireTime: 1209600 # 14 days as per the akka keys

# Used for the listen only bridge. The IP MUST be the one where FS is binded to
freeswitch:
    ip: 159.69.45.101
    port: '5066'

# Log levels, in order of specificity: info, warn, verbose, debug, trace
log:
    filename: '/var/log/bbb-webrtc-sfu/bbb-webrtc-sfu.log'
    level: 'verbose'


and here is a screenshot of Chrome with chrome://webrtc-internals:
------------------------------------------------------------------------------------------

I added it as an attachment as it is rather big.


thanks hints where to look further ..

robert

webrtc_internals_dump.txt

Niranjan Vaity

unread,
Jan 10, 2022, 1:10:59 AM1/10/22
to BigBlueButton-dev
Advice on how to resolve this? I am getting similar error.
Thanks
Reply all
Reply to author
Forward
0 new messages