Overview
Transcoding allows HNode to convert DMX data from one pixel mapping format (deserializer) to another format (serializer). This is useful when you need to:- Convert between different LED controller formats
- Remap pixels from one layout to another
- Transform data from a lighting console format to a custom LED format
- Bridge incompatible pixel mapping systems
Configuration Properties
Enables or disables transcoding from the deserializer format to the serializer format.When enabled:
- DMX data is received using the deserializer format
- The data is converted to a texture representation
- The texture is then re-serialized using the serializer format
- Output is sent in the serializer’s pixel mapping format
- Data flows through without format conversion
- Only the deserializer is used for input
- Serializer is bypassed
The number of DMX universes to process during transcoding. This limits the amount of data being converted, which can improve performance if you only need a subset of universes.Common values:Performance tip: Set this to the minimum number of universes you actually need. Processing fewer universes improves performance.
1- Process only the first universe (512 channels)3- Process three universes (1536 channels) - default8- Process eight universes (4096 channels)- Higher values for large installations with many fixtures
The maximum number of universes that will be serialized to the output. This usually doesn’t need to be changed from the default.The default value (
2147483647 / int.MaxValue) means there is no practical limit on the number of universes that can be serialized.You might want to set this to a specific value if:- You need to limit output to a specific number of universes
- Your output system has a maximum universe count
- You want to prevent accidental transmission of empty universes
YAML Configuration Examples
Basic Transcoding Setup
Disabled Transcoding
Small Installation (1 Universe)
Large Installation (16 Universes)
Limited Output Universes
Complete Configuration Example
Here’s a complete example showing transcoding with other configuration options:How Transcoding Works
Data Flow Without Transcoding
Data Flow With Transcoding
Example: VRSL to Binary Format
- Receives Art-Net data in VRSL format (deserializer)
- Converts it to a texture representation
- Re-encodes the texture using Binary format (serializer)
- Outputs the converted data
Performance Considerations
Universe Count and Performance
TheTranscodeUniverseCount setting directly impacts performance:
- 1 universe (512 channels) = Minimal processing
- 3 universes (1536 channels) = Default, good balance
- 8 universes (4096 channels) = Moderate processing
- 16 universes (8192 channels) = Higher processing load
- 32+ universes = Significant processing, ensure adequate hardware
Optimization Tips
-
Set universe count precisely: Only process the universes you actually use
-
Disable when not needed: If you don’t need format conversion, disable transcoding
-
Match resolutions: Ensure input and output resolutions are appropriate for your data
-
Monitor frame rate: Check your actual frame rate and adjust if needed
Common Use Cases
Converting Console Output to LED Format
Testing Different Formats
Pixel Layout Remapping
No Format Conversion Needed
Troubleshooting
No Output When Transcoding
- Verify
Transcodeis set totrue - Check that both
SerializerandDeserializerare configured - Ensure
TranscodeUniverseCountcovers your data range - Verify input resolution matches your deserializer’s expectations
Performance Issues
- Reduce
TranscodeUniverseCountto minimum needed - Lower resolution settings if appropriate
- Check CPU/GPU usage
- Consider disabling transcoding if not needed
Incorrect Pixel Mapping
- Verify you’re using the correct serializer/deserializer formats
- Check resolution settings match your pixel layout
- Ensure universe count covers all your fixtures
- Review serializer-specific configuration options
Related Settings
- Resolution - Input and output texture sizes affect transcoding
- Art-Net Settings - Configure Art-Net input
- Masking - Control which channels are visible