This guide is a how-to for streaming using a 3rd party software such as OBS, and many of these instructions may also be applied to other software.
The instructions provided herein are based around an XDJ-XZ, and may be different for other XDJ units. Please check the DDJ section of the Knowledge Base for additional tutorials. This will work for software, USB, as well as external line inputs connected to the XDJ-XZ.
Due to Apple dropping 32bit application support in Catalina, and certain previously documented applications not being updated with 64bit support, this guide uses newer software options which will work with all versions of macOS.
Step 1 - Update
Ensure that you are running the latest version of rekordbox, that your drivers and firmware are up-to-date, and that your broadcast software is current as well.
Step 2 - Download the Necessary Software
There is just one extra tool necessary for us Mac users:
You can also use Sound Siphon, which is a very similar application and a few bucks cheaper. I've had Loopback for years (very worth the cost) and haven't used Sound Siphon myself, but from what I understand, you can follow along pretty closely to configure it as we do for Loopback below.
Step 3 - Configure rekordbox Audio
Launch rekordbox, open Preferences > Audio and verify that the XDJ-XZ is set as the Audio device.
Close the rekordbox preferences window.
Step 4 - Configure Loopback
Launch Loopback and click New Virtual Device at the bottom left, then name it rb2OBS:
Click on the Pass-Thru source device and delete it. Click the + icon beside Sources and click XDJ-XZ:
Next, click the connectors between the XDJ-XZ and the Output Channels 1 & 2 device one at a time, and delete them. Drag a line from the dot to the right of XDJ-XZ 5 to the Output Channel 1, then repeat for 6 to 2:
That's all here. This step literally does the job of JACK and Soundflower in a few simple clicks.
Step 5 - Configure OBS for Audio
Download and install OBS if you haven't already, then launch it.
Click the + button at the bottom of the Sources window to add a new Audio Input Capture source:
You can keep the defaults, click OK.
Select rb2OBS from the Device drop-down.
With audio playing on a deck in rekordbox, you will now see activity on the meters in the Audio Mixer section of OBS:
You may notice the levels are a bit low, and don't change when you adjust the Master level knob on the XDJ-XZ - this is normal! The recording output is taken pre-master so it's not affected by the master volume knob. I recommend adjusting the channel Trim knobs so the XDJ-XZ channel meters are peaking around the first orange LED. Them there are two options for boosting the signal; first is within rekordbox by going to Preferences > Controller > Mixer > Headroom and adjusting the value from the default to NONE, but I like to keep this at -6dB or -9dB and use the second method. Click the gear icon below the Audio Input Capture in the Audio Mixer of OBS (pictured above), and click Advanced Audio Properties.
Adjust the Volume to 6.0dB (or as needed to get the single track peak levels just dipping into the red):
If you want to also have the audio come out of your computer's speakers, change Audio Monitoring to Monitor and Output. This is only necessary if you don't have speakers connected to your XDJ-XZ already; the device for this is set in the preferences below.
Next, open Settings to configure a few things...
If you want to record the stream from within OBS, click General at the left and tick the box beside Automatically record when streaming in the Output box.
Click Stream at the left to select your output stream destination from the Service dropdown, then click the Stream Key (Link) linked text to open the corresponding website's streaming info page:
Go through their setup process or other instructions and copy/paste your key into the field above.
Click Output at the left and check that the Output Mode is set to Advanced:
If you want to go to a higher quality stream, uncheck the Enforce streaming service encoder settings box, otherwise, skip this and the next part. Click the Audio tab and adjust the Audio Bitrate:
How high you go depends on the quality of your internet connection and the capacity for the server you're streaming to.
Finally, click Audio at the left - change the Monitoring Device if desired (per above).
If you're only streaming audio, you can skip ahead to Step 7.
Step 6 - Configure OBS for Video
If you want to stream a capture of your screen or video input (or both) you can add these as well.
Click the + button at the bottom of the Sources window to add a new Display Capture source:
You can keep the defaults and click OK.If you have multiple displays, select the output display you want to use.
Please note, as an alternative to Display Capture, you may try using the Window Capture function. Whether this works depends on the graphics chipset(s) you have in your Mac. If you find the Window Capture freezes OBS or does not show your waveforms within rekordbox, then use the Display Capture.
If you are showing the rekordbox output, as opposed to a video input source, you should match your input size. Open Settings > Video and change the Base (Canvas) size to match the resolution of your display.
The Output (Scaled) size should typically be 720 or 1080 to keep a down-sampled resolution that is friendly for your broadcast.
You can also (optionally) add a webcam or other video input and configure it here. If you require further instruction on this, try Google.
Step 7 - Broadcast
Click Start Streaming and that's pretty much it! Start playing some tunes, and if you've enabled your webcam - smile!
Step 8 - Tweak
You should test and monitor the workload and buffer on your computer as you perform - chances are the CPU usage won't be the issue, but the audio buffer may still run out. As you increase the buffer, the latency (delay between action and audio output) will increase, but the likelihood of audio dropouts or crackling will decrease. Your computer's age will typically mean larger buffer sizes are required, but there are tricks you can do to reduce background application usage and improve the overall performance of your Mac.
This guide was made using the following software versions:
- macOS Catalina v10.15.4
- rekordbox v5.8.5
- Loopback 2.1.3
- OBS Studio v24.0.6
While efforts will be made to keep up with any changes to this process to ensure others can use it after software update have been released, we can't guarantee the accuracy or relevance of this information, nor the performance of any 3rd party software applications.