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.
If you are using a DDJ or DJM, the instructions will be different, please see the DDJ guide here, or the DJM guide here.
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 are a couple of extra utilities needed to kung-fu this wacky configuration:
Install them, nothing special is needed just yet, reboot your computer before you proceed.
Step 3 - Configure Voicemeeter
Open Voicemeeter Banana.
Click A1 at the top right, then select ASIO: XDJ-XZ ASIO DRIVER.
Click A2 and select MME: Speakers (VB-Audio Virtual Cable):
Click the Menu button and select System Settings / Options.
Under OUT A1 Main Device, change the PATCH ASIO INPUT for IN 1 to be 5 and 6, then change IN 2 and IN 3 to be blank - left click to advance, right click to reverse.
Click the X to close the settings.
From left to right, set the remainder of the configuration as follows:
HARDWARE INPUT 1: Click A2 and A3 to assign the routing. (Note: I have renamed mine HW1)
VIRTUAL INPUTS - Voicemeeter VAIO: Click A1 to assign the routing.
MASTER SECTION - Physical Channel A1: Adjust the fader to around the +6dB mark.
MASTER SECTION - Physical Channel A2: Click the output box at the top of the strip once (says Normal mode by default) so it shows MIX down A.
MASTER SECTION - Physical Channel A3: Click the output box at the top of the strip once (says Normal mode by default) so it shows MIX down A, click the MUTE button. (Note: this is to configure it for an optional output which we're not using here.)
Step 4 - Configure rekordbox Outputs
With your XDJ-XZ connected, powered-on, and in MIDI control mode, open rekordbox, then open the Preferences > Audio and set the Audio Device as the Voicemeeter Virtual ASIO:
Ensure the Mixer Mode is set to External.
Scroll down and set the Output channels as shown for each of the VM-VAIO outputs:
Click the X to close the Preferences window.
Step 5 - Configure OBS for Audio
Minimize rekordbox and launch OBS.
Click the + button at the bottom of the Sources window to add a new Audio Output Capture source.
You can keep the defaults, click OK.
Select Speakers (VB-Audio Virtual Cable) from the drop-down, and click OK.
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 that the Window Capture function won't work to stream just the rekordbox window because of how the rekordbox display engine draws the waveforms. If you use this option, the upper portion of your rekordbox display will broadcast as blank.
If you are showing your desktop, 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
To make sure you're previewing the audio (and display, if selected), click the Studio Mode button twice (the first time it will toggle to a single-view mode). You will now see audio level in the meter at the bottom, and a video preview (if applicable).
Be sure to adjust the levels on the mixer for any other audio sources; mute the other inputs if they're not being used.
That's it, you're ready to go - simply configure your output stream, or record to a local file.