GitHub - Happyrobot33/HNode: Open source Artnet DMX to video grid node renderer, built in unity 6, created for maximum data standard flexibility (original) (raw)
Open source Artnet DMX to video grid node renderer, built in unity 6, created for maximum data standard flexibility
Features
- Optional manual change of ArtNet Address/Port
- Spout2 output as serializer
- Spout2 input as deserializer
- Many generators
- MIDIDMX
- Nerdy statistics
- Support for VRSL, Binary Stage Flight and others
Install
Get recent version of HNode in releases tab
Usage
There are a few ways you can use HNode to run lights in world:
HNode with OBS
Setting up HNode to work with OBS Studio
OBS Studio is a free-to-use software avaliable at GitHub or Steam.
- You have to get plugin Spout2 for OBS
- Add
Spout2 Capturesource - Set field
SpoutSenderstoHNode Outputor the one you set in HNode application - Set Composite mode to Default to allow transparancy from HNode
- Also you can (but not required):
* holdLeftAltandLeft Mouse Buttonto crop unused part of Spout2 Capture, just don't over do it.
* Also you canRight Clickon it Transform > Edit and set Crop values from there.
- Also you can (but not required):
So now we have HNode that outputs texture into OBS, but how do we put this into VRC World or similar?
There are a few ways to do this:
- YouTube Live: High latency, possibly bad compression and okay bitrate
- Twitch: High latency, possibly bad compression and okay bitrate
- VRCDN: Low latency, okay compression and okay bitrate
- Other streaming service (Please check their ToS before doing anything)
- Local streaming (MediaMTX): Low latency, okay compression and good bitrate (depends on your hardware)
For an local-test example we'll go with MediaMTX
- Get latest binary for your system from MediaMTX releases
- Extract it in empty folder, run main file (on Windows it's
mediamtx.exe) - Go to your OBS Studio settings > Stream
- Set Service to Custom, Server:
rtmp://localhost/
- tip: if you want to have a custom text after your base url, you can add any text you want (it needs to be in ASCII format), if you get any errors when you try to stream - you put something bad in there probably.
- Go to Output > Streaming
- Set things below:
- Streaming Settings:
- Audio Encoder:
FFmpeg AAC - Video Encoder: For NVIDIA:
NVIDIA NVENC H.264. (This is mostly depends on how good your hardware is, with great CPU you can go withx264) - Rescale Output: Disabled
- Audio Encoder:
- Encoder Settings:
- Rate Control:
Constant Bitrate - Bitrate
5000 Kbpsor above for crazy visuals
- only if you use Binary or Ternary gridnode, otherwise it is mostly not useful
- And don't set it too low or too high or you'll experience issues like high stream delay, low FPS etc.
- Keyframe interval:
1s - Preset:
Slow (Good Quality)
- You can set it higher if your hardware is way too good but not recomended in most cases
- Tuning:
High Quality
- You can try Ultra low latency but there's no guarantee that it'll be actually low latency since it may give you issues.
- Multipass Mode:
Two Passes (Quarter Resolution) - Profile:
high - Look-ahead:
Off - Adaptive Quantization (or Psycho-Visual Tuning):
Off - B-Frames:
2
- Rate Control:
- Streaming Settings:
- Go to Output > Audio
- Set on each track
Audio Bitrateto320
- If you experience audio issues, try lower values (192 works good on MediaMTX).
- Go to Audio
- Set things below:
- Sample Rate:
48 kHz - Channels:
Stereo
- Go to Video and set things below:
- Base (Canvas) Resolution:
1920x1080 - Output (Scaled) Resolution:
1920x1080 - Common FPS Values:
30(You can set higher but if your client has less frames, you will experience stream delays and other issues, but30is the most common around clubs)
- Go to Advanced and set things below:
- Color Range:
Full
This should be good to go, Apply your settings and try Start Streaming. Go to your world and put in video player url rtspt://localhost:8554/(anything you put in Stream key/Server)
HNode with MIDIDMX
Troubleshooting
- I don't have any options in
Spout2 CaptureSpoutSenders
- You most likely need to restart your PC
- Lights don't do anything when I run sequences in Lighting console
- Make sure you use correct gridnode for your world
- Check if you have put your gridnode in correct place according to your world
- I have lights run in Lighting console but not in HNode
- Make sure you have ArtNet output set on correct address and port.
