How to stream conferences

Depending on the size of your event and the kind of interactions you are expecting with your audience, you can choose from a variety of solutions for your conference.

Let's review the available solutions.

Small conferences / meetups

For small conferences (about 30 users), you can simply invite your users in a Jitsi meeting room.

Jitsi is well suited for those use cases because:

  • It enables fluid communication with the participants (anyone can enable his/her microphone and webcam to communicate with the speaker
  • The speaker (or a moderator) can monitor manually users who would behave poorly

If you opt for Jitsi, the important part is to configure properly who is getting moderation rights. Let's review this part in details.

Step by step guide

1- Create a user with a moderator/speaker tag

Let's say you want to grant moderator rights to anyone who has the "speaker" tag.

The first step is of course to create users with the "speaker" tag. You can do this in the members list of WorkAdventure administration console.

Create a new member (or edit an existing member) and in the "tags" section, add a new "speaker" tag.

Screenshot of a member with the "speaker" tag

2- Edit your map to configure the Jitsi layer

Now, you need to edit your map to explain that anyone with the "speaker" tag is a moderator.

To do this, go to Tiled, and edit the properties of the Jitsi layer of your map.

Add a jitsiRoomAdminTag property that will contain the name of a tag (in our case: "speaker"). Any member with the tag "speaker" will be a moderator of this Jitsi meeting.

One additional property you may want to add is the "auto mute" property. When a user enters the Jitsi conference room, he/she should be muted by default. Otherwise, people coming in/out will disturb the speaker. To mute automatically people (and disable their webcam by default, use this property:

jitsiConfig: { "startWithAudioMuted": true, "startWithVideoMuted": true }
The properties of the Jitsi layer in Tiled

3- Login with the moderator/speaker account

The last thing that remains is to login with the correct user. Go to the members list, click on the member in the list and copy and paste the "Token access" URL. This "autologin" URL can be used to log into WorkAdventure with the given member.

Large conferences

If you are expecting a large audience (from 30 users to several thousand users), you should consider building a "podium".

A single Jitsi is not well suited for large conferences. As the number of users increases, it is getting harder to see who is the current speaker, and the growing list of participants can become confusing. Furthermore, after about 100 concurrent users, we are reaching the technical limits of Jitsi and the conference room might altogether crash and stop responding.

So for large conferences, our advice is to use a dedicated tool. In this section, we will explain how to use Jitsi in conjunction with Youtube Live to stream your event to a large number of users.

To do this, you will need to split your conference room into 2 areas.

  • 1- Build a stage. On the stage, place a Jitsi meet zone. Anyone walking on the stage will be part of the conference and be able to speak and interact with the speaker(s).
  • 2- Build an auditorium. The auditorium is where your attendees are seating. In the auditorium, the attendees will see the Youtube Live video.
The 2 layers of your conference room

There are a number of advantages to do this:

  • The Jitsi room will only contain the speakers so will be uncluttered by all the attendees
  • It is very easy to hop on and off from the stage, so a participant can still come and ask questions on the stage directly (just like in a real conference!)
  • Youtube Live is an extremely reliable solution to deliver live streams to a wide audience (+ you can make your conference available for replay on Youtube without any extra effort)

You need to be aware of a few drawbacks:

  • There is a slight delay between the Jitsi stream and the Youtube Live stream. Don't forget to configure the delay to "Ultra low latency" if you expect participants to come on stage and ask questions. The typical delay in "Ultra low latency" is 3 to 7 seconds.
  • Not all Youtube accounts can embed a Live stream into WorkAdventure. Which accounts can stream is not entirely clear (and mostly undocumented from Google) but out personal experience is that you need an account that was created before 2020, or your Youtube account must be linked to AdSense. Linking your Youtube account to Adsense can take up to 7 days, so you need to plan in advance.

Step by step guide

1- Create a user with a moderator/speaker tag

Let's say you want to grant moderator rights to anyone who has the "speaker" tag.

The first step is of course to create users with the "speaker" tag. You can do this in the members list of WorkAdventure administration console.

Create a new member (or edit an existing member) and in the "tags" section, add a new "speaker" tag.

Screenshot of a member with the "speaker" tag
Only moderators have the right to start streaming to Youtube Live. Therefore, you need someone on stage that has the Jitsi moderator rights. This will often be the speaker for medium-sized conferences, or a dedicated staff member for larger conferences.

2- Edit your map to create the Jitsi stage

Now, you need to edit your map and define a "Jitsi" stage.

On this Jitsi layer, you need to explain that anyone with the "speaker" tag is a moderator.

To do this, go to Tiled, and edit the properties of the Jitsi layer of your map.

Add a jitsiRoomAdminTag property that will contain the name of a tag (in our case: "speaker"). Any member with the tag "speaker" will be a moderator of this Jitsi meeting.

The properties of the Jitsi layer in Tiled

3- Find your Youtube API key

Go to Youtube, login, then connect to Youtube Live by clicking the "Camera" menu and then the "Go Live" menu item.

The Youtube Live menu
Note: if this is the first time you are accessing Youtube Studio, it can take up to 24 hours to enable your account.

In the Youtube Studio page, get the "default stream key". This key is a code that you will give to your speaker (or the moderator) of the Jitsi room. The key will be needed in Jitsi to stream to your Youtube channel. Put that key in a safe place and keep it for later.

The Youtube Studio page

Additionally, set the "Stream latency" to "Ultra low-latency" if you plan to interact with the audience. Otherwise, you will have a 30 seconds delay that will make answering questions in live really awkward.

Finally, you need to configure your stream to be "embeddable" in WorkAdventure. Click on the "Edit" button next to your stream. Scroll down the list of options until you find "Allow embedding".

The Youtube Studio edit page

4- Test Youtube Live streaming from your map

Before configuring the auditorium, we will test the ability for a speaker/moderator to stream from Youtube Live. Go to the members list, click on a member in the list that has the "speaker" tag and copy and paste the "Token access" URL. This "autologin" URL can be used to log into WorkAdventure with the given member.

Use this URL to login into WorkAdventure, on your map. Walk on the stage. Jitsi should open.

In Jitsi, click on the "start live streaming" menu.

The Jitsi "Start live streaming" link

Now, in the popup that opens, paste the Youtube "stream key" and click the "Start live stream" button.

The Jitsi "Start live streaming" popup

Streaming should start. Navigate to "Youtube Studio". You should see the Jitsi meeting in the Youtube Studio application.

5- Edit your map to configure the Youtube Live layer

You need to find the link to the embedded Youtube live stream and add it to your map.

In Youtube, click on the menu and select "Your channel".

The "Your channel" menu in Youtube

Pay attention to the URL. It should look like this:

https://www.youtube.com/channel/UCL-AA7PSP9IUoZsJyxTwo2Q

The last part of the URL is the channel ID.

The URL to your live stream is:

https://www.youtube.com/embed/live_stream?channel=[channel ID]

On your map, you now need to create a openWebsite property whose URL is the URL of the live stream.

You also need to pass special "allow" properties to the iFrame to allow the user to put Youtube in full screen mode:

openWebsitePolicy: fullscreen; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture

In the end, the properties of the auditorium layer should look like this:

The "Youtube live" layer properties

6- Test the setup

We are now ready to test. Just like in step 4, connect with a speaker account, walk on the stage and start live-streaming. With another browser / tab, connect with an additional user and walk in the auditorium. You should see the conference on stage being streamed automatically!