Debugging with ToolX¶
This guide explains how to use ToolX for debugging video streaming and network issues in GVA systems. ToolX is the primary tool for SAP/SDP stream discovery, video stream testing, SNMP diagnostics, and network troubleshooting.
When to Use ToolX¶
Use ToolX when you need to:
| Scenario | ToolX Capability |
|---|---|
| Debug video streaming issues | Generate and receive test streams |
| Verify SAP announcements | Monitor multicast stream discovery |
| Test VIVOE equipment | Walk SNMP MIBs for compliance |
| Diagnose network problems | Run network interface diagnostics |
| Validate multicast routing | Check IGMP and multicast groups |
| Test different video codecs | Switch between H.264, H.265, JPEG2000 |
ToolX vs LdmX
Use ToolX for video streaming and network diagnostics. Use LdmX for DDS/LDM debugging (messages, registration, alarms). They complement each other for full system debugging.
Getting Started¶
ToolX Interface Overview¶
When you launch ToolX, you'll see the welcome screen:

Launching ToolX¶
Selecting a Video Codec¶
Choose the appropriate codec for your hardware:
# Intel/AMD GPU (recommended for desktop)
./toolx --vaapi
# Software encoding (works everywhere)
./toolx --openh264
# NVIDIA Jetson platforms
./toolx --omx
# Native encoders (lower latency)
./toolx --vaapi-native
./toolx --openh264-native
Codec Selection
If you see encoding errors, try --openh264 for guaranteed software encoding. Use --vaapi only if you have Intel/AMD GPU with VA-API drivers installed.
Debugging Workflows¶
Workflow 1: Debugging Video Stream Discovery¶
When video streams aren't being discovered:
Step 1: Open ToolX RTP-SAP tab

Step 2: Check if SAP announcements are being received
The SAP Listener table should show:
- Stream name
- Multicast IP address
- Port number
- Encoding type
Step 3: If no streams appear, run diagnostics
Go to the Diagnostics tab and click "Run Diagnostics":

Common Issues:
| Symptom | Cause | Solution |
|---|---|---|
| No streams discovered | Multicast blocked | Check firewall rules |
| Streams appear/disappear | IGMP timeout | Configure switch IGMP snooping |
| Wrong streams shown | Multiple networks | Check network interface binding |
Step 4: Verify multicast routing
# Check multicast group membership
netstat -g | grep 224.2
# Verify route for SAP multicast
ip route get 224.2.127.254
Workflow 2: Testing Video Stream Generation¶
When you need to generate test video for receivers:
Step 1: Configure stream parameters
In the RTP-SAP tab, Stream Generator section:
- Set Session Name (e.g., "Test Stream 1")
- Set IP Address (multicast, e.g., 239.192.1.1)
- Set Port (e.g., 5004)
- Select Resolution (e.g., 1920x1080)
- Select Frame Rate (e.g., 25 fps)
- Select Encoding (e.g., H.264)
- Select Test Pattern (e.g., EBU Colour Bars)
Step 2: Start the stream
Click "Start" to begin streaming. The stream will:
- Generate video frames with the test pattern
- Encode using the selected codec
- Transmit via RTP to the multicast address
- Announce via SAP for discovery
Step 3: Verify stream in SAP Listener
Your stream should appear in the SAP Listener table within 1-2 seconds.
Step 4: Test with a receiver
On another machine (or another ToolX instance):
- Open ToolX
- Go to RTP-SAP tab
- Double-click the stream to play it
Test Patterns Available:
| Pattern | Use Case |
|---|---|
| EBU Colour Bars | Standard broadcast test |
| Grey Scale | Contrast and brightness testing |
| Checkered | Resolution and sharpness testing |
| Solid Colours | Colour accuracy testing |
| Bouncing Ball | Motion and frame rate testing |
| White Noise | Compression artifact testing |
Workflow 3: Debugging SNMP/VIVOE Equipment¶
When testing VIVOE compliance or SNMP connectivity:
Step 1: Open ToolX SNMP tab

Step 2: Configure target
- Enter IP Address of the device
- Set Community String (usually "public")
- Select SNMP Version (v2c for most devices)
Step 3: Click "Walk" to scan the device
The MIB browser will populate with OID tree.
Step 4: Inspect VIVOE-specific OIDs
For VIVOE compliance, check:
.1.3.6.1.4.1.35990- VIVOE enterprise OID- Video stream configuration
- Encoding parameters
- Network settings
Common Issues:
| Symptom | Cause | Solution |
|---|---|---|
| Timeout | Device unreachable | Check IP, ping device |
| No response | SNMP disabled | Enable SNMP on device |
| Access denied | Wrong community | Check community string |
| Incomplete data | v1 limitation | Try SNMP v2c |
Workflow 4: Network Diagnostics¶
When experiencing general network issues:
Step 1: Open ToolX Diagnostics tab
Step 2: Click "Run Diagnostics"
The diagnostics will check:
- Network interface status
- IP configuration
- Multicast group memberships
- IGMP snooping status
- Routing table

Step 3: Review results
Look for:
- ✅ Interface UP with valid IP
- ✅ Multicast groups joined (224.x.x.x)
- ✅ Default route configured
- ❌ Interface DOWN
- ❌ No multicast groups
- ❌ Missing routes
Step 4: Fix identified issues
# Bring interface up
sudo ip link set eth0 up
# Add multicast route
sudo ip route add 224.0.0.0/4 dev eth0
# Join multicast group manually
sudo ip maddr add 239.192.1.1 dev eth0
Advanced Debugging¶
Debugging Multicast Issues¶
Problem: Streams work locally but not across switches
- Run ToolX Diagnostics on both machines
- Compare multicast group memberships
- Check switch IGMP snooping configuration
# On sender
./toolx --vaapi
# Start a test stream
# On receiver (different subnet)
./toolx
# Check if stream appears in SAP listener
Switch Configuration (example for managed switch):
# Enable IGMP snooping
igmp snooping enable
igmp snooping vlan 1
# Enable IGMP querier if no multicast router
igmp snooping querier enable
Debugging Codec Issues¶
Problem: Stream generates but receiver shows artifacts
- Try different codecs:
# Test with software encoder
./toolx --openh264
# Test with native encoder (lower latency)
./toolx --openh264-native
- Check encoder availability:
# Check GStreamer VAAPI
gst-inspect-1.0 vaapih264enc
# Check GStreamer OpenH264
gst-inspect-1.0 openh264enc
# Check VA-API support
vainfo
- Monitor encoding errors in terminal output
Debugging High Latency¶
Problem: Video has noticeable delay
- Use native encoders for lower latency:
- Reduce resolution for testing:
- Start with 640x480
-
Gradually increase to find limit
-
Check network latency:
Capturing Stream Metadata¶
For detailed stream analysis:
- Start ToolX and discover streams
- Note the SDP information shown for each stream
- Use this to configure other tools:
# Use ffmpeg to capture stream
ffmpeg -i "rtp://239.192.1.1:5004" -c copy output.ts
# Use VLC to view stream
vlc rtp://239.192.1.1:5004
Common Debugging Scenarios¶
Scenario: Video Freezes Intermittently¶
Debug Steps:
- Check network statistics:
-
Run ToolX diagnostics - check for interface errors
-
Monitor CPU usage during streaming:
- Try software encoder to rule out GPU issues:
Scenario: SAP Announcements Not Received¶
Debug Steps:
- Verify SAP multicast is reaching the interface:
- Check if firewall blocks SAP:
- Verify multicast route exists:
Scenario: SNMP Walk Returns Empty¶
Debug Steps:
- Verify basic connectivity:
- Test with command-line snmpwalk:
- Check if device supports SNMPv2c:
Best Practices¶
During Development¶
- Test streams locally first before network testing
- Use software encoding (
--openh264) for portability - Start with low resolution (640x480) then scale up
- Monitor terminal output for encoder errors
During Integration Testing¶
- Document working configurations (codec, resolution, IP)
- Test across network segments to verify multicast routing
- Run diagnostics on all participating nodes
- Verify SNMP compliance on VIVOE equipment
During Production Debugging¶
- Start ToolX on the problem node first
- Run diagnostics before making changes
- Compare with known-working configuration
- Capture stream metadata for support requests
Quick Reference¶
Keyboard Shortcuts¶
| Key | Action |
|---|---|
| F5 | Refresh stream list |
| Ctrl+S | Start selected stream |
| Ctrl+E | Stop selected stream |
| Ctrl+D | Run diagnostics |
Common Multicast Addresses¶
| Address | Use |
|---|---|
| 224.2.127.254 | SAP announcements |
| 239.192.x.x | Local video streams |
| 239.255.x.x | Admin-scoped streams |
Default Ports¶
| Port | Protocol |
|---|---|
| 9875 | SAP announcements |
| 5004 | RTP video (even) |
| 5005 | RTCP control (odd) |
| 161 | SNMP |
See Also¶
- ToolX Reference - Complete feature reference
- Debugging with LdmX - DDS debugging
- External Applications - Building GVA apps
- BMS Application - Example with video integration