Technology | Diversity | Democracy

Broadcasting Your Work

Jitsi Meetup

If you are using the flagship instance of Jitsi Meet, you’ll find the settings menu allows you to record to DropBox or broadcast to YouTube! This is great, but there are reasons you might wish to DIY your recording and broadcast. Perhaps you’re using a different server that doesn’t have these options. Or, even on the flagship server, there is a limit to how many meetings can be using these services at one time. If too many people are trying to record or broadcast, you’ll have to wait your turn.

The settings menu on Meet.jit.si
The settings menu on meet.jit.si

Also, perhaps you would rather broadcast via Twitch or another service or record to your own hard drive directly. This post only covers broadcasting, but the software we will discuss is also a recorder.

Who should broadcast

Let’s say you play in a quartet. Normally, although there are four of you, only one of you will be broadcasting. (Or, perhaps you might recruit a friend who is not in your band to broadcast.) Which of you should it be? Obviously there are social considerations in this question. But on a technical level, the broadcaster must be using a laptop rather than a mbile device. Of those of you using laptops, the key considerations are internet bandwidth and laptop speed. Bandwidth is most likely going to be the deciding factor.

During one of your rehearsals, where you are all together with your normal setup (using jitsi or BigBlueButton or zoom or whatever you use), you should take turns testing your bandwidth. You can do this via the webpage https://testmy.net/. Check your upload and download speeds. Whoever is fastest is probably the best choice of broadcaster, but everyone should make a note of their results and set up as if they might be broadcasting. This way, if the leader has an internet outage on the day of the gig, the remaining members can carry on as a trio, or duet!

What to download

There is a great tool for broadcasting and recording called OBS. It works for Linux, Windows and Mac.

Mac users will need to install some extra software to do audio routing. This is in addition to software you may have downloaded for routing system sound to jitsi, something we covered last time. Please get iShowU Audio Capture.

Configuring OBS

On the bottom right of OBS are some buttons. One is called Settings. Click on that.

On the left set of panels, the second one down is streaming. You will see a drop down menu labelled Service, where you can pick who you’re streaming to. You’ll find YouTube, Twitch and many other commercial services, especially under Show All.... However, perhaps you have been given a set of login information from a music festival that’s booked you. In that case, you would want to use the information they’ve given you.

If they have given you a stream URL, put that in the box marked Server. And if they have given you a Stream Name or Key, put that in the box marked Stream Key. If the festival/streaming server has also given you a login name and password, you’ll need to check the box called Use Authentication. Two new boxes will appear. Put the login/user name in the box marked Username and the password in the box called Password.

Stream Information in OBS
Stream Information in OBS

Next, go to the Output tab. If you’ve been given specific instructions for things like the keyframe interval, you’ll need to click advanced.

Now we need to set the Bitrate. Go back to your speed test results. The highest safe bitrate is half of what you got in your speed test. Note that your speed test may have given you results in terms of Mbps (Megabits Per Second) and OBS is asking you for Kbps (Kilobits per second). There are 1000 Kilobits per Megabit. So if your speed test returned 2 Megabits, that’s 2000 Kilobits, so your top safe speed is 1000 kbps.

If you’ve been given a keyframe interval, enter it. You’ve got some CPU settings that you may want to change if you discover your CPU is struggling. There’s also an option to rescale output. Leave that unchecked for now.

We’ll come back to the Profile.

Advanced Output Settings
Advanced Output Settings

On the Audio tab, set the Audio Bitrate to whatever you’ve been given. Do this for every channel. So if you were told 128 kbps, you would set every channel to 128.

Advanced Output Mode, Audio Tab
Advanced Output Mode, Audio Tab

We’re going to skip the rest of audio right now and go on to the video tab on the left.

This tab wants some resolution data from you. What you put depends on the bandwidth we measured. earlier. Your broadcaster may have given you a chart indicating what to put. For example, they may have given you something like this:

ULDLDSDHDFHD
NameUltra-Low DefinitionLow DefinitionStandard DefinitionHigh DefinitionFull High Definition
Video Bitrate (kbps)350350 – 800800 – 12001200 – 19001900 – 4500
Resolution Width (px)42664085412801920
Resolution Height (px)2403604807201080
H.264 ProfileMainMainHighHighHigh
Example Video settings

If you set your bitrate to 900, according to the above chart, you should send standard definition. You would therefore want to set your base and scaled resolution to 854×480. Or, if you set your bitrate to 1500, you would set your base and scaled resolution to 1280×720. If you’ve set your bitrate over 1900, that’s a lot of data! Check with the person running your event before going that high, or reduce your bitrate to 1900.

If you’ve been given a Frame Rate, then you’ll want to set that also. So if you’ve been told 25, set Common FPS Values to 25 PAL.

OBS Video Settings
OBS Video Settings

Now, look at the bottom line of the chart. That’s your H.264 profile, which is the same profile we said we’d come back to! Click on the stream tab on the left again. Make sure advanced is selected and click the Output icon on the left and the Streaming tab in the window. (If you don’t see a streaming tab, check your output mode is set to Advanced in the drop down menu at the top.) Set the Profile to match what you found in the chart.

We will come back to Audio setup later. Click OK on settings to close the window.

Showing your Jitsi

After you get the video settingsconfigured, you want to set up OBS to show Jitsi (or your alternative video chat) window. In the lower left of the OBS window, there’s a box labelled Scenes. Click the plus sign to make a new scene. Name it after Jitsi or whatever it is that you’re using. Click on your new scene after you make it.

Next to the scene box is a box labelled Sources. We need a new video source for our scene. Click the plus sign. A list will pop up. One of the items on the list should include the phrase Window Capture. Pick that one. This way you will only share the window you want to share and is better than Share Screen. For linux users, especially, Window Capture works, but Screen Capture does not unless you take extra steps that I won’t go into here.

A Little box will open. You’ll want to check Create new and then type a name in the box below that. For example, you might name it “Jitsi Window”. Click ok.

Create/Select Source
Create/Select Source

A new window will open. In the middle, it will have a drop down menu listing every open window on your computer. Look for the one you want and select it. You should see a preview of it in the top part of the window. You mostly don’t need to worry about the options below that except for the one labelled Capture Cursor. Unless you want to send your mouse movements, make sure that box is not checked. Click ok.

Capturing the Jitsi Window
Capturing the Jitsi Window

The big part of OBS will now show the screen you wanted to share. Or, more likely, it will only show the upper left hand corner of the screen! We can fix this. In the sources list, click on the new source you just made. You may see a red box around the image on the big OBS window.

If you are on Mac and see a blue box, cmd-click inside the box to turn it red. Then Control-click to get a pop-up menu.

If you are on linux right -click inside the red box to get a pop-up menu.

Under Transform, select Fit to Screen and this should make everything the right size.

We’ve got video set! Now what about Audio?

Audio Routing

This is where it gets system specific. We’ll start with Linux. Mac follows. I’m afraid I don’t have windows knowledge, but OBS has a lot of online documentation.

Linux

In OBS, go back to the settings. Click Audio on the left. What sample rate should you be sending? 48kHz or 44.1kHz? Set it here. Also, you probably want to be stereo.

Audio Settings for Linux
Audio Settings for Linux

Pulse Audio

Pulse audio is probably the default audio on your operating system. If you don’t know what it means or what “Jack Audio” means, this is what you’re using. It’s also quite easy. First you’ll want to open pavucontrol – Pulse Audio Volume Control. This probably came with your system, but you may also need to install it.

The most important thing you want to do is turn down your system sounds. This is under the playback tab.

System sounds are down. OBS is up
System sounds are down.

Go cack to the sources on OBS. You’ve got video. Now you need audio. Hit the plus sign to create a new Audio Input Capture (Pulse Audio). Give it a name. Set the Device to Default to just use the system settings you already have.

Audio Input Capture Device
Audio Input Capture Device

Do the same to make a new Audio Output Capture (Pulse Audio).

The input captures your microphone. The output captures what is coming from your Jitsi Meet or other application.

You’ll see you’ve got a couple of meters in your Audio Mixer now.

Audio Mixer in OBS
Audio Mixer in OBS

You may find that your microphone is coming in much louder than your collaborators. If that’s the case, you’ll want to use the slider to turn yourself down. Or, if you’re not playing, you can mute yourself temporarily by clicking on the speaker icon.

Microphone Muted
Your Mic is Muted here

You’re now setup to start broadcasting. But there’s a bit more for you at the bottom of this post.

Jack Audio

Jack Audio is set up a lot like Pulse, above. In the Sources widget, click on the Plus sign to create a new JACK Input Client. You may wish to rename it. It will ask you the number of channels and whether to start the Jack server. Instead, start the sever via QjackCtl, somethign we covered previously.

Use the Connections window on QjackCtl to connect any Jack applications or PulseAudio sinks that you wish to broadcast.

Pulse Audio JACK Sink-01 connected to OBS's JACK Input Client
Pulse Audio JACK Sink-01 connected to OBS’s JACK Input Client

Mac

You can find official documentation on how to configure audio on Mac here.

If you have a simple setup, then you will install iShowU and setup a Multi Ouput Device, something we covered how to do previously. Name your new device something that references OBS.

In your system preferences, set your output to use your new Multi Ouput Device. This will copy your Jitsi Output to the iShowU channels.

Follow the linked instructions to set your existing audio tracks to get sound from iShowU.

Or, if you have started new and don’t have any audio inputs at all, Click on the Plus below the sources widget in OBS. You’ll want to do this twice for Audio input capture. Do it once for your microphone and once for iShowU. This will create two audio channels in your mixer.

However you get your audio channels active, note that your microphone might be a lot louder than your collaborators over the network, so you may want to turn it down.

OBS Audio Mixer on Mac
OBS Audio Mixer on Mac

Mute the mixer channels that you don’t intend to use, by clicking on the speaker icon. Scroll down to see all of them. If you find you have the same channel twice, you should remove it from your sources.

Muted Microphone
The microphone is muted to OBS, but not to your collaborators in chat

If you are using a DAW or have a more complicated setup where you are using an Aggregate Device, add iShowU to that device and be sure to send everything you want to broadcast to the first two channels of iShowU.

You do not need to mute your system alert sounds, but make sure that they’re only going to your internal speakers and not out to your stream. You can do this in System Preferences. Go to Sound settings and click on the Sound Effects tab. Make sure that Play sound effects through: is set to Internal Speakers. Or, if you’d rather disable them, uncheck the Play user interface sound effects option.

Play sound effects through: Intneral Speakers
Play sound effects through: Intneral Speakers

Don’t forget to set the OBS settings to the sample rate provided by your broadcaster. If they have told you 48KHz, then set it to that, or if they told you 44.1kHz, set it to that. If you change the sample rate, OBS will restart when you hit ok.

The top portion of the settings window in OBS for Mac
The top portion of the settings window in OBS for Mac. What’s below this part will depend on how complicated your aduio setup is.

Managing the Jisti (or other) Window while Broadcasting

Many video chat applications, including Jisti, have a mode where they automatically switch video depending on who is making sound. If you use the built-in recorder or broadcaster with Jitsi Meet, this is what gets recorded. During a music performance, this can look very artistic and compelling, however, you will never see yourself. If you want to use this mode, it would be best to recruit a friend to broadcast for you. That person should leave their camera off and their mic muted both in the Jisti Meeting and in OBS.

For Panel discussions and in some other cases, the automatic switching can also look silly. In the lower right hand of the Jisti window, there is an icon of four boxes arranged in a Square shape. Clicking that switches between the mode where it automatically switches to everyone having a box. If you are having a friend manage your broadcasting, they will show up as a black box. If you’ve ever seen a black box in an online performance, this is why. Despite this drawback, it still often is the best solution. Other chat applications have similar modes.

If you are using Jitsi or BigBlueButton or anything else in a web browser, OBS is set to follow that window – but not that tab! If you switch tabs during your performance, it will broadcast the new tab. You can avoid this by making sure Jitsi is the only tab you have open in that window. Then you can use another browser or application window to look at whatever other information you need.

Also note that the URL bar is going to be visible unless you specifically hide it. Especially if your address is visible, make sure to set a password to prevent “zoom bombing” or you may find an unexpected guest performer in your gig.

CPU

While you are broadcasting, open your system monitor and check out how your CPU is doing and look at the bottom of OBS to see how many frames you’re dropping. If you’re dropping a lot of frames, you’ll need to go to a lower bandwidth. This can also help if your CPU is maxing out. If your CPU is really struggling and you don’t want to downgrade your bitrate further, it might be that another member of your group (or another friend) is best placed to do the broadcasting.