Overview
This guide will walk you through setting up HNode to receive ArtNet DMX data and output it as a video stream. You’ll go from zero to a working visualization in just a few minutes.This guide assumes you have already installed HNode. If not, complete the installation first.
What You’ll Build
By the end of this guide, you’ll have:- HNode receiving ArtNet DMX data on your network
- A live video visualization of your DMX channels
- Spout2 output ready for OBS or other applications
- Understanding of the basic workflow
Step 1: Launch HNode
Start the Application
Double-click
HNode.exe to launch.The application window opens at 1200x600 resolution with the default VRSL serializer active.Familiarize with the Interface
The HNode interface has four main areas:
Tab Navigation
Top of the window: Switch between Serializer, Generator, Exporter, and Documentation tabs
Settings Panel
Left side: Configuration options for the selected component
Preview Window
Right side: Live preview of the rendered output
Statistics Overlay
Bottom right: Real-time FPS, RAM, and audio levels (Graphy)
Step 2: Configure Network Settings
Set ArtNet Address
In the Serializer tab, locate the ArtNet Address field.If you need to listen on a specific interface:
- Find your computer’s IP address (e.g.,
192.168.1.100) - Enter it in the ArtNet Address field
- Press Enter to apply
Configure Your Lighting Console
On your lighting console or software (e.g., QLC+, LightJams, etc.):
- Set ArtNet Output to enabled
- Set IP Address to:
- Your computer’s IP (e.g.,
192.168.1.100), or - Broadcast address (e.g.,
192.168.1.255), or 127.0.0.1if console is on the same computer
- Your computer’s IP (e.g.,
- Set Port to
6454 - Set Universe to
0(or1depending on console)
Step 3: Choose a Serializer
Serializers define how DMX channels are mapped to video pixels. Choose based on your target platform:- VRSL (VRChat)
- Binary (High Density)
- Binary Stage Flight
- Other Formats
Best for: VRChat worlds using VRSL lighting systems
Configure Layout
Click Cycle Output Config to choose:
HorizontalTop- Standard horizontal layout (default)HorizontalBottom- Bottom-aligned horizontalVerticalLeft- Left-aligned verticalVerticalRight- Right-aligned vertical
Match this to your VRChat world’s expected layout.
Optional: RGB Grid Mode
Enable RGB Grid Mode if your world uses RGB color encoding:
- Spreads 3 universes across R, G, B channels
- Triples effective channel density
- Only enable if your world specifically supports this
Step 4: Test DMX Reception
Send Test Data
From your lighting console:
- Create a simple cue or scene
- Set some channels to non-zero values (e.g., channel 1 = 255)
- Trigger the cue
Verify in HNode
Look at the preview window (right side of HNode):VRSL: Look for 16x16 pixel blocks
- Bright white = channel value 255
- Black/transparent = channel value 0
- Gray = intermediate values
- Each pixel represents 8 channels as binary bits
Troubleshooting: No Data
If you don’t see any changes:
Check Network Connection
Check Network Connection
- Verify your computer and lighting console are on the same network
- Try pinging your computer from the console (or vice versa)
- Temporarily disable Windows Firewall to test
Check Console Configuration
Check Console Configuration
- Verify ArtNet output is enabled
- Check the output IP address is correct
- Verify the universe number (try 0 and 1)
- Look for ArtNet output indicators on the console
Check HNode Settings
Check HNode Settings
- Verify ArtNet Port is 6454
- Try setting ArtNet Address to 0.0.0.0
- Check that HNode is allowed through Windows Firewall
Use Wireshark
Use Wireshark
Advanced: Capture network traffic to verify ArtNet packets:
- Install Wireshark
- Capture on your network interface
- Filter:
udp.port == 6454 - Look for ArtNet packets when triggering cues
Step 5: Configure Spout Output
Set Spout Output Name
In the Serializer tab, find Spout Output Name.Default:
HNode OutputThis is the name that will appear in OBS and other Spout-enabled applications.
Adjust Output Resolution
Set Output Resolution based on your needs:
1920x1080(default) - Full HD, good balance1280x720- HD, better performance3840x2160- 4K, high channel count but performance intensive
WIDTHxHEIGHT (e.g., 1920x1080)Step 6: Connect to OBS Studio
You must have the Spout2 plugin for OBS installed first.
Add Spout2 Source
In OBS Studio:
- Click + under Sources
- Select Spout2 Capture
- Name it “HNode” and click OK
Configure Source
In the Spout2 Capture properties:
- SpoutSenders: Select
HNode Outputfrom the dropdown - Composite Mode: Set to “Default” (allows transparency)
Step 7: Stream or Record
Now that HNode is feeding into OBS, you can:- Stream to VRChat
- Stream to Cloud
- Record Locally
For low-latency local streaming to VRChat using MediaMTX:
Start MediaMTX
Run
mediamtx.exe (see installation guide).Configure OBS Stream Settings
Settings → Stream:
- Service: Custom
- Server:
rtmp://localhost/ - Stream Key:
hnode(or any text)
Configure OBS Output Settings
Settings → Output → Streaming:Video Encoder:
- NVIDIA:
NVIDIA NVENC H.264 - AMD:
AMD HW H.264 - CPU:
x264(if powerful CPU)
5000 Kbps (higher for Binary formats)Keyframe Interval: 1sPreset: Slow (Good Quality) or Low LatencyStep 8: Add Generators (Optional)
Generators create or modify DMX data beyond ArtNet input. Try adding a text generator:Add Text Generator
- Click Add Generator button
- Select Text from the dropdown
- A new text generator appears in the list
Configure Text Generator
In the generator settings:
- Text: Enter any text (e.g., “Hello World”)
- Channel Start: Set to
100(or any unused channel range) - Unicode: Off for ASCII, On for UTF-16
- Limit Length: Optional, restrict to max characters
Step 9: Save Your Configuration
What's Saved
The YAML file contains:
- Selected serializer and all its settings
- All generators with their configurations
- All exporters
- Network settings (ArtNet port/address)
- Resolution and framerate
- Spout names
Example Configurations
Here are some common configuration examples:Next Steps
Congratulations! You now have a working ArtNet to video stream setup. Here’s what to explore next:Explore Serializers
Try different serializers like Binary Stage Flight for higher channel density
Use Generators
Add subtitle generators (SRT, ASS, LRC) for synchronized text displays
Add Exporters
Set up MIDIDMX for VRChat worlds or timecode export for synchronization
Optimize Performance
Fine-tune resolution, framerate, and encoder settings for your hardware
Troubleshooting Common Issues
High CPU/GPU Usage
High CPU/GPU Usage
Symptoms: HNode or OBS uses excessive resourcesSolutions:
- Lower Output Resolution (try 1280x720)
- Reduce Target Framerate to 30
- Use hardware encoder in OBS (NVENC, AMD VCE)
- Close other GPU-intensive applications
- Lower OBS encoding preset (“Fast” or “Very Fast”)
Laggy/Delayed Video
Laggy/Delayed Video
Symptoms: Video lags behind DMX changesSolutions:
- Use MediaMTX instead of cloud streaming for local use
- Reduce OBS bitrate slightly
- Enable “Low Latency” or “Ultra Low Latency” preset in OBS
- Ensure stable network connection
- Check that HNode maintains 60 FPS (see Graphy overlay)
Artifacts in Binary Formats
Artifacts in Binary Formats
Symptoms: Binary/Ternary formats show incorrect values after streamingSolutions:
- Increase streaming bitrate (try 7000-10000 Kbps)
- Use better encoder preset (“Slow” or “Medium”)
- Disable B-frames in encoder settings
- Increase keyframe interval to 2s
- Consider using VRSL instead if artifacts persist
Spout Not Appearing in OBS
Spout Not Appearing in OBS
Symptoms: HNode Output doesn’t show in Spout2 Capture dropdownSolutions:
- Restart OBS Studio
- Restart HNode
- Verify Spout2 plugin is installed correctly
- Check that both HNode and OBS are 64-bit
- Try changing Spout Output Name to something unique
- Reboot your computer (Spout registry may need refresh)
Configuration Won't Load
Configuration Won't Load
Symptoms: Load button shows error or doesn’t restore settingsSolutions:
- Verify YAML file is not corrupted (open in text editor)
- Check YAML syntax is correct (indentation matters)
- Try loading on a fresh HNode start
- Manually edit problematic fields in the YAML file
- Create a new configuration and compare formats
Getting Help
If you encounter issues not covered here:GitHub Issues
Report bugs or request features on the HNode repository
GitHub Discussions
Ask questions and share configurations with the community