Troubleshooting
Use this page as the first-response checklist for a Streamer, Player, or Fleet Streamer system that does not install, activate, connect, show video, keep latency low, load plugins, or run as a service. Each section links to the detailed setup or reference page for the subsystem.
Quick triage
-
Record the product, version, operating system, GPU, project file, connection path, and exact error text.
-
Check that all Oden installers in the setup are from the same release version.
-
Confirm that the Streamer and Player both have valid licenses.
-
If the Streamer normally runs as a service, check the service before starting a second Streamer instance.
sudo systemctl status oden-streamer.service -
Replace the real camera with a
Test Sourceinput. If the test source works, continue with No video or no input preview. If it does not work, continue with Connection or no remote stream or Service problems. -
On the Streamer, verify that the input
Texturepreview updates before troubleshooting the Player. -
On the Streamer, verify that the
Outputtab is running and reports the expected resolution, codec, bitrate, and frame rate. -
On the Player, select the
Remote Streamerentity and checkBandwidth,Round Trip Time, andPacket Loss.
Installation problems
Use Install Oden for the full install flow.
Checklist:
-
Download the installer from
https://releases.voysys.devand verify the matching.sha256file when available. -
Use the installer for the correct product: Oden Fleet Streamer, Oden Streamer, OdenVR, or Oden Dome Player.
-
Use matching release versions on the Streamer and Player.
-
On Ubuntu, install downloaded packages with a leading
./, for examplesudo apt-get install ./oden-vr_<version>_amd64.deb. -
On Jetson, select the package whose filename matches both the Ubuntu version and JetPack version. Check Jetson L4T with
cat /etc/nv_tegra_release. -
Install current GPU drivers before diagnosing video or encoder failures.
-
If Oden fails to open a window on Linux, try the Streamer in headless mode only after confirming that the system is intended to run without a GUI.
oden-streamer --headless /path/to/project.vproj -
For noninteractive Fleet Streamer installs, pre-seed both the EULA and service choices before installing the
.deb.
License problems
Use Activate Licenses for the full activation and revoke flow.
Checklist:
-
Activate the product that will actually run on that computer. A Streamer license does not activate the Player unless the license includes that application.
-
Make sure the computer can reach
https://license.voysys.seduring activation, refresh, and revoke. -
Paste the key exactly as provided, including hyphens.
-
Restart the application after the first successful activation.
-
For a headless Fleet Streamer service, activate with
sudoso the root-run service can read the license data.sudo oden-streamer --activate <license-key> sudo systemctl restart oden-streamer.service -
If terminal activation says a key already exists, use
--forceonly when intentionally replacing the saved key on the same computer. -
If the key is already activated elsewhere, revoke it on the old computer before activating the new one.
-
If the license expired or was not refreshed in time, reconnect the computer to the internet and activate again.
-
Check for the current validity, product capabilities, and activation dates.
Common meanings:
Unable to connect to license server-
Check internet access, DNS, firewall, proxy settings, and access to
https://license.voysys.se. License key has already been activated on another computer-
Revoke the license on the other computer first.
License not valid for this application-
Use the license for the installed product, or contact Voysys to confirm the licensed applications.
The Streamer Has No Valid License-
The Streamer can start, but it will show a license error until activation succeeds.
No video or no input preview
Use Camera Inputs and First Vehicle Stream for detailed input settings.
Start by locating where video stops:
-
If the input
Texturepreview does not update, troubleshoot the camera or input. -
If the input preview updates but the
Outputtab is stopped, troubleshoot Streamer output. -
If Streamer output is running but the Player has no image, troubleshoot connection and Remote Streamer settings.
Input checklist:
-
Press
Starton input types that have a start button. -
Use
Test Sourceto prove the project, encoder, and network path before diagnosing the real camera. -
Match the input codec to the camera or sender.
-
For RTSP, check the URL, username, password, and selected codec.
-
For RTP, check that the sender uses the same UDP port and codec configured in Oden.
-
For GStreamer Pipeline, confirm that the pipeline reaches
odenvideosink. Oden can append! odenvideosink processing-deadline=0if it is omitted. -
For SRT or unstable GStreamer sources, increase
Pipeline Latencyin the input’s advanced settings. -
For V4L2, confirm that the device node, pixel format, resolution, and frame rate are supported. Try
Blocking ModeorRetry Until Successwhen the camera is slow to start. -
For Direct Show, rescan devices after plugging in capture hardware.
-
For industrial cameras, rescan devices or interfaces and check camera access mode, IP address, exposure, gain, and packet-loss settings.
Output and Player checklist:
-
In Streamer
Output, pressStartand confirm that the output stats update. -
Use
HEVC (H.265)unless the receiving system requires another codec. -
On the Player, make sure the project contains a
Remote Streamerentity. -
Stop the Remote Streamer input before changing stopped-only settings such as
Codec. -
Match the Remote Streamer
Codecto the StreamerOutputcodec. -
If the Player shows
No Signal, the Remote Streamer drop detector has not seen image changes before its timeout. Check whether the Streamer is still sending changing frames, whether the input is frozen, and whether packet loss is preventing complete frames.
Connection or no remote stream
Use Connect Player and Streamer and Network.
Fleet-managed connection checklist:
-
Use Oden Fleet Streamer on the vehicle side.
-
Make sure
oden-streamer.serviceis running if Fleet Streamer was installed as a service. -
Make sure the Player-side Fleet Client plugin is enabled.
-
Confirm both machines can reach the fleet service and that both applications are activated.
-
If the vehicle appears online but no video arrives, select the
Remote Streamerentity and checkBandwidth,Round Trip Time, andPacket Loss.
Direct connection checklist:
-
In the Player
Remote Streamerentity, configure a receiver link and note theReceive Port. -
In the Streamer
Networktab, configure a sender link to the Player computer’s reachable IP address and the same port. -
Do not use
127.0.0.1unless Streamer and Player are on the same computer. -
Open the configured UDP receive port in the Player firewall.
-
If using
Bind IP, enter an address that exists on the local machine or leave it empty. -
On Linux, use
Bind Deviceonly when traffic must go through a specific interface. A wrong bind device can bypass normal routes. -
For initiator/responder links, the responder receive port must be reachable by the initiator.
-
When using WireGuard relay or encryption, confirm that keys and internal source/destination addresses match the relay configuration.
High latency or unstable video
Checklist:
-
Start with a conservative output resolution, frame rate, and bitrate. Increase quality only after the Player stats are stable.
-
Enable
Sync to Videoand select the primary camera when low latency to that camera matters. -
Use
HEVC (H.265)for the normal low-latency path. -
Keep the Player in fullscreen mode for lowest display latency.
-
Disable VSync unless the deployment specifically requires it.
-
Run the Streamer with
--headlesson Linux deployments where the GUI is not needed. -
If
Packet Lossis high, lowerTarget Bitratefirst. -
Enable
Use FEConly when the link has packet loss and enough spare bandwidth for redundant packets. If FEC increases congestion, lower bitrate or reduce FEC. -
If
Round Trip TimeorBytes In Flightclimbs during streaming, the network is likely saturated. Lower bitrate, resolution, frame rate, or target usage. -
If packet reordering is high, test
Allow Reorder DelayandMax Reorder Delayon the Remote Streamer. Disable reorder delay only for applications where minimum latency is more important than resilience to reordering. -
Use P2P when available to avoid relay latency.
Plugin problems
Use Plugins.
Checklist:
-
Program plugins belong in the project plugin path or next to the project file.
-
Global plugins must be in the same directory as the Player or Streamer executable.
-
After changing
Project Plugins Path, save and reopen the project. -
If the plugin path uses environment variables, hover the path field and confirm the expanded path.
-
Make sure each plugin entity uses a unique entity ID.
-
Keep hot reloading disabled in production.
-
On Windows, open the plugin
.dllin Dependencies and resolve missing dependencies. -
On Linux, run
ldd -r -d ./<plugin>.soin the plugin directory and resolve any missing libraries. -
Check the application log or service journal for plugin load failures, version mismatch warnings, or duplicate-load warnings.
Service problems
Fleet Streamer service facts:
-
The service is installed only when selected during the Fleet Streamer
.debinstall or when pre-seeded through debconf. -
The service name is
oden-streamer.service. -
The service runs as
root. -
The service starts
/usr/bin/oden-streamer --headless /opt/oden-streamer/oden-vehicle-config.vproj. -
If
/opt/oden-streamer/oden-vehicle-config.vprojdoes not exist, the service copies the default project before starting.
Checklist:
-
Check service state and recent logs.
sudo systemctl status oden-streamer.service sudo journalctl -u oden-streamer.service -n 200 --no-pager -
Restart the service after changing the project, license, network, or plugin files.
sudo systemctl restart oden-streamer.service -
Stop the service before opening the same project manually in the GUI.
sudo systemctl stop oden-streamer.service sudo oden-streamer /opt/oden-streamer/oden-vehicle-config.vproj -
If manual Streamer startup reports another Streamer instance, stop the service or intentionally start with
--multiple-streamers. -
If saving fails when editing
/opt/oden-streamer/oden-vehicle-config.vproj, check file ownership and remember that the service runs as root. -
Activate service deployments with
sudo oden-streamer --activate <license-key>, then restart the service. -
If the service restarts repeatedly, inspect the journal for license errors, plugin load failures, missing camera devices, or project parse errors.