Questions about BBB 2.4 mediasoup application and other settings

599 views
Skip to first unread message

hyunho

unread,
Jan 2, 2022, 9:09:38 AM1/2/22
to BigBlueButton-dev
Q1.
Is mediasoup basically set in BBB 2.4? Or should I follow the procedure in the link below?

https://github.com/bigbluebutton/bbb-webrtc-sfu/wiki/Back-of-the-envelope-calculations:-mediasoup

Q2.
Where can I check if the mediasoup works normally?
It doesn't seem to appear in the process.

Q3.
Isn't "fullaudio bridge" still recommended in the 2.4 official version?

Q3.
BBB 2.4 basically uses three kurentos in the process.
"Three Currento servers". Do we need to set it up?

Q4.
It is confirmed that BBB 2.4 uses ffmpeg for recording encoding.
Do I need an "Increase number of recording workers" operation using multi-currento on my server?

In the case of Q3 and Q4, I am still inquiring about 2.4 custom guides.

Thank you in advance for answering.

Fred Dixon

unread,
Jan 2, 2022, 10:05:14 AM1/2/22
to BigBlueButton-dev
Hi Hyunho.

> Q1.
> Is mediasoup basically set in BBB 2.4? Or should I follow the procedure in the link below?

Mediasoup is not the default mediaserver for webcams, listen only, and screen-share in 2.4.  However, we do know that many sites are enabling it, and we've done extensive testing on it ourselves.  

It will become default in the next version of BigBlueButton (2.5).  Again, there are some large deployments of BigBlueButton that are running it as default and we encourage you to try it out. You'll find that webcams, listen only, and screen share will start much faster.

> Q2.
> Where can I check if the mediasoup works normally?

It's running inside of the bbb-html5 application (no separate systemd file).

You can see the processes running here

  ps -aefww | grep mediasoup


> Q3.
> Isn't "fullaudio bridge" still recommended in the 2.4 official version?

It is not recommended for production and was indicated as such in the docs

    Note This feature is experimental and incomplete. It should not be used for a production server.

See
 


> Q3.
> BBB 2.4 basically uses three kurentos in the process.
> "Three Currento servers". Do we need to set it up?

Yes, that is the recommended way to run Kurento.  Even if you have mediasoup enabled, we recommend running three kurento servers as Kurento is still involved in recording of media streams.  To enable three Kurento servers, see



> Q4.
> It is confirmed that BBB 2.4 uses ffmpeg for recording encoding.
> Do I need an "Increase number of recording workers" operation using multi-currento on my server?

Yes, the recording scripts use ffmpeg for processing of recordings (again, as above, Kurento still creates the recording streams).  You do not need to increase the number of recording works.


  

--
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.
To view this discussion on the web visit https://groups.google.com/d/msgid/bigbluebutton-dev/7e6b402a-72a9-46eb-82ab-e1e00d36c261n%40googlegroups.com.


--
BigBlueButton Developer

Like BigBlueButton?  Tweet us at @bigbluebutton

hyunho

unread,
Jan 2, 2022, 10:39:59 AM1/2/22
to BigBlueButton-dev
Thanks for the sincere and quick reply Fred May I ask a little more questions? I have a lot of questions because I plan to use version 2.4 from tomorrow after setting it up on customers' servers.

Q1. When applying mediasoup, the settings for ipv4 and ipv6 are divided. When the following information is displayed with bbb-conf --check, information about ipv6 is not displayed. Is it correct to set ipv4? ========================================================================================================== mediasoup ipv4 settings  
yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.webrtc.listenIps[0].ip "0.0.0.0"
yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.webrtc.listenIps[0].announcedIp $SERVER_IPv4
yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.plainRtp.listenIp.ip "0.0.0.0"
yq w -i /etc/bigbluebutton/bbb-webrtc-sfu/production.yml mediasoup.plainRtp.listenIp.announcedIp $SERVER_IPv4

=========================================================================================================
bbb-conf --check info

BigBlueButton Server 2.4.0 (2818)
                    Kernel version: 5.4.0-86-generic
                      Distribution: Ubuntu 18.04.6 LTS (64-bit)
                            Memory: 7602 MB
                         CPU cores: 8

/etc/bigbluebutton/bbb-web.properties (override for bbb-web)
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web)
       bigbluebutton.web.serverURL: https://demo.flexstudy.co.kr
                defaultGuestPolicy: ALWAYS_ACCEPT
                 svgImagesRequired: true
              defaultMeetingLayout: SMART_LAYOUT

/etc/nginx/sites-available/bigbluebutton (nginx)
                       server_name: demo.flexstudy.co.kr
                              port: 80, [::]:80
                              port: 443 ssl

/opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH)
                       local_ip_v4: 49.247.11.141
                   external_rtp_ip: 49.247.11.141
                   external_sip_ip: 49.247.11.141

/opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH)
                        ext-rtp-ip: $${local_ip_v4}
                        ext-sip-ip: $${local_ip_v4}
                        ws-binding: 49.247.11.141:5066
                       wss-binding: 49.247.11.141:7443

/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
                     playback_host: demo.flexstudy.co.kr
                 playback_protocol: https
                            ffmpeg: 4.2.4-1ubuntu0.1bbb2~18.04

/etc/bigbluebutton/nginx/sip.nginx (sip.nginx)
                        proxy_pass: 49.247.11.141
                          protocol: http

/usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (Kurento SFU)
/etc/bigbluebutton/bbb-webrtc-sfu/production.yml (Kurento SFU - override)
                        kurento.ip: 49.247.11.141
                       kurento.url: ws://127.0.0.1:8888/kurento
                    kurento.sip_ip: 49.247.11.141
               recordScreenSharing: true
                     recordWebcams: true
                  codec_video_main: VP8
               codec_video_content: VP8

/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client)
/etc/bigbluebutton/bbb-html5.yml (HTML5 client config override)
                             build: 2440
                        kurentoUrl: wss://demo.flexstudy.co.kr/bbb-webrtc-sfu
                  enableListenOnly: true
                    sipjsHackViaWs: true

/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml (STUN Server)
                              stun: stun.l.google.com:19302

========================================================================

Q2.
[Using mediasoup in BigBlueButton 2.4] asks about three methods. https://github.com/bigbluebutton/bbb-webrtc-sfu/wiki/Back-of-the-envelope-calculations:-mediasoup 1. Only used in settings using ipv4 2. Only used in settings using ipv6 3. Used when setting in settings.yml. In the case of 3, it is not necessary to set it together when setting it to 1,2. Is my understanding correct? Q3.
I think I had the same question in another article.
Can you confirm that the above setting works properly? [ ps -aefww | grep mediasoup ] With this command, it is possible to confirm that mediasiup is working on the server, but it is not possible to check whether it is properly applied to bbb.
Thank you in advance for answering.


2022년 1월 3일 월요일 오전 12시 5분 14초 UTC+9에 Fred Dixon님이 작성:

Fred Dixon

unread,
Jan 2, 2022, 10:55:28 AM1/2/22
to BigBlueButton-dev
For the steps at


> If your server is behind NAT (otherwise skip to step 2):

Is your server behind NAT, otherwise you don't need to set the IPs.

> Q2 When applying mediasoup, the settings for ipv4 and ipv6 are divided.

Do you have IPV6 on the server?  If your server is not behind NAT, try skipping the setting for IPV6 for the moment -- most users will be able to make a connection via IPV4 even if they have an IPV6 address.

> Q3. [ ps -aefww | grep mediasoup ] With this command, it is possible to confirm that mediasiup is working on the server, but it is not possible to check whether it is properly applied to bbb.

If you run

  tail -f /var/log/syslog | grep mediasoup

you'll see messages from bbb-webrtc-sfu process using mediasoup for sharing of webcams, screenshare, and joining listen only.


Regards,... /Fred




hyunho

unread,
Jan 3, 2022, 5:34:54 PM1/3/22
to BigBlueButton-dev
20220104_071749.png

Thanks for your help, I finished setting up mediasoup ipv4 in BBB 2.4 and opened the service. The conference was held for about 10 hours, and when using up to 262 people, the CPU utilization was around 15%. There was a maximum of 60 video participants and a maximum of 15 audio participants. The server specifications are as follows. CPU: 32 Threads / 3.5 GHz MEM: DDR4 64GB Network: Shared 10Gbps There have been no failures such as system down or line disconnection in 10 hours. I was surprised at how stable it was. I have been using it since version 2.1, but I felt that a huge improvement was made due to the introduction of node.js and mediasoup that support multithreading. I am sharing this article to share the performance of the 2.4 version as a data that can be known.


2022년 1월 3일 월요일 오전 12시 55분 28초 UTC+9에 Fred Dixon님이 작성:

Fred Dixon

unread,
Jan 3, 2022, 6:10:35 PM1/3/22
to BigBlueButton-dev
Hi Hyunho,


> There have been no failures such as system down or line disconnection in 10 hours.
> I was surprised at how stable it was.
> I have been using it since version 2.1, but I felt that a huge improvement was made due to the introduction of node.js and mediasoup that support multithreading.
> I am sharing this article to share the performance of the 2.4 version as a data that can be known.

Thanks for your feedback!

Do you have a twitter account?  If so, a tweet of your experiences with 2.4 to @bigbluebutton would be visible to everyone on Twitter.

Regards,... Fred

Reply all
Reply to author
Forward
0 new messages