First Vehicle Stream

Last validated: 2026-05-04

This page walks through a minimal Streamer setup: open or create the Streamer project, add one camera or video input, start the Streamer output, and verify that OdenVR receives the outgoing stream.

Prerequisites

  • Oden Streamer is installed on the vehicle computer.

  • OdenVR is installed on the operator computer.

  • The vehicle and operator computers can reach each other over the configured network.

  • You know which video input to use, for example GStreamer Pipeline, RTSP, or V4L2.

If you do not have the real camera available yet, use Test Source as the first input. It verifies the project, encoder, and network path before camera-specific settings are added.

Open The Streamer Project

The Streamer project stores the vehicle-side scene, video inputs, network settings, and output settings.

  1. Start Oden Streamer on the vehicle computer.

  2. Open an existing project with File  Open…​.

    The default vehicle project is commonly stored at /opt/oden-streamer/oden-vehicle-config.vproj.

  3. For a new first-stream project, configure the initially opened project and save it with File  Save As…​.

  4. Save later changes with File  Save or Ctrl+S.

If Oden Streamer normally runs as a service, stop the service before editing the project locally:

sudo systemctl stop oden-streamer.service
sudo oden-streamer /opt/oden-streamer/oden-vehicle-config.vproj

After saving and closing Oden Streamer, start the service again:

sudo systemctl start oden-streamer.service

For remote project editing through OdenVR, add a Streamer Configurator entity in a Player project that already contains a Remote Streamer entity, then connect to the Streamer GUI from that entity. See Projects and Scenes for project editing and configurator mode.

Add A Camera Or Video Input

  1. In Oden Streamer, select the Root Entity in the scene graph.

  2. Add a video entity with Edit  Add Child Entity  2D Video.

  3. Select the new 2D Video entity.

  4. In the entity settings, open the Input section.

  5. Choose the input type that matches the camera or source:

    • GStreamer Pipeline: Use this for a custom GStreamer source, including shared GPU-memory pipelines on Jetson. Paste the pipeline in the GStreamer Pipeline settings and press Start.

    • RTSP: Use this for an IP camera or RTSP server. Set Url, choose the incoming Codec, enable Video, add credentials if required, and press Start.

    • V4L2: Use this for supported Linux camera devices. Select Device, Pixel Format, Resolution, and Frame Rate.

    • Test Source: Use this as a known-good placeholder while validating the first stream path.

  6. Confirm that the Texture preview in the input settings updates.

See Camera Inputs for input-specific settings and Player Layout for 2D video layout behavior.

Set The Stream Output

  1. Open the Streamer sidebar tab Output.

  2. If the output is stopped, configure the basic encoder settings:

    • Resolution: Set the encoded output size. Start with a conservative value such as 1280 x 720 while validating the first stream.

    • Frame Rate: Set the outgoing frame rate. Match the camera frame rate when possible.

    • Target Bitrate: Set the encoder bitrate target, or the maximum bitrate when Bandwidth Control is enabled.

    • Codec: Use HEVC (H.265) unless the receiving system requires another codec.

    • Sync to Video: Enable this and select the primary camera source when low latency matters.

    • Use FEC: Enable Forward Error Correction on links with packet loss.

  3. Press Start in the Output tab.

  4. While streaming, confirm that the Output tab shows the current resolution, codec, bitrate, and frame-rate graphs.

  5. Save the project with File  Save.

See Bitrate Control and Auto Video Packing for output settings.

Verify The Outgoing Stream

  1. Start OdenVR on the operator computer.

  2. Open the connect menu and select the vehicle.

  3. Confirm that the Player project contains a Remote Streamer entity.

  4. Select the Remote Streamer entity and check the received video.

  5. In the Remote Streamer stats, verify:

    • Bandwidth is above zero while the Streamer output is running.

    • Round Trip Time is updating.

    • Packet Loss stays at zero or an acceptable value for the network.

    • The video image changes when the camera view changes.

  6. If no video appears, check the Streamer first: the input preview must update and the Output tab must be running before troubleshooting OdenVR.

First-Stream Troubleshooting

No input preview

The issue is before streaming. Check the selected input type, camera URL or device, codec, credentials, and whether the input has been started.

Output will not start

Check that the encoder supports the selected Resolution, Frame Rate, and Codec. Try a lower resolution and bitrate.

OdenVR connects but receives no video

Confirm that the Streamer Output tab is running and that the Player has a Remote Streamer entity connected to the same vehicle.

High packet loss or unstable video

Lower Target Bitrate, enable Use FEC, and check the network link settings on both Streamer and Player.