Changelog
Changes from 2.47.0 to 2.47.1 (March 2026)
-
Fix regression for library loading when running fleet streamer as non-root
Changes from 2.46.0 to 2.47.0 (March 2026)
-
Better file dialog support.
-
Add functionality for odenvideosink to skip every nth frame to be able to reduce incoming camera framerate for Gstreamer inputs.
-
Disable fleet streamer systemd service install by default.
-
Camera manager is deprecated and removed.
-
Implement GigE slave mode.
-
Runtime X11/Wayland support with dynamic library loading.
-
Added startup guide for Oden.
-
Improved Documentation.
-
Fleet Streamer build on Windows.
-
Binaries and windows installer are now signed.
-
Zero downtime Bifrost upgrades.
-
Added new entity which can be used to share a video/texture from Oden to another program.
-
Extract metadata for decoded frames on Jetpack 5 and newer.
-
Support for Lucid camera input.
-
Add output alignment entity on close project in Streamer.
-
Better error handling for --activate argument.
-
Support more input format for nvmm/nvbuffer.
-
Expose Oden Version in Javascript SDK.
-
OCP: Player-side TCP server and scene-based vehicle discovery.
-
Fix bug in MSAA which caused performance issues on some system.
-
Fix bug in Virtual Camera when swapping between orthographic and perspective camera.
-
Fix bug in autopacker for older projects.
-
Fix bug with mesh caching.
-
Fix bug where autopacker did not work when copying from a virtual camera.
-
Fix bug where getDownloadedImage return an old image
-
Fix bug where Oden hanged when revoking license.
-
Fix crash when all scenes was deleted.
-
Fix rare crash when closing Oden.
-
Fix rare crash when an entity is removed.
Changes from 2.45.2 to 2.46.0 (January 2026)
-
Enable support for 422 and 444 video formats.
-
Webview: Fix bug where webview would exit if Oden ran in slow framerate.
-
Optimized sei data search.
-
GStreamer plugins now use a dedicated directory
-
Customer login for license portal.
-
Fix crash if streamer configuration is open when streamer dies.
-
Removed OpenHMD support.
-
Fix bug with string handling on bind devices.
-
Threaded joystick and gamepad input.
-
Webview: Disable gamepad on request and Return timestamp if we don’t get user data.
-
OCP: Remote input feedback in the GUI actually report what is sent to the vehicle.
-
Updated EULA.
Changes from 2.45.0 to 2.45.1 (November 2025)
-
Added a exclusive time slot manager for GStreamer pipelines.
Changes from 2.44.0 to 2.45.0 (November 2025)
-
OCP: Version 2.0 of OCP protocol
-
Streamer view is now fitted to the window instead of stretched.
-
Added Oden Fleet Streamer build for Jetpack 4.6.
-
Webview: Add reload without cache with ctrl+f5 or ctrl+shift+r.
-
Fix bug in getCameraLastValidTimestamp.
-
Fleet Client: Fix issue where the client connected twice.
-
Bifrost: Status page available on https://portal.voysys.dev/status.
-
Support for Nvidia Jetson Thor with Jetpack 7.
-
Block unsupported GPUs.
-
OCP: Fix bug where Oden could hang if messages could not be sent.
-
Bifrost: Support for having relays in multiple regions.
-
Webview shipped by default in OdenVR.
-
Disallow running multiple streamers on the same computer without explicit permission.
Changes from 2.43.1 to 2.44.0 (November 2025)
-
Fix bug where a printscreen was taken on every startup.
-
Fleet Client: Show UI even if Bifrost connection fails.
-
Now logs error if Jetpack runtime version differ against build version.
Changes from 2.42.0 to 2.43.0 (October 2025)
-
Bifrost: General optimization.
-
Removed support for ebus, fc2, and vimba video inputs.
-
Added nvunixfd gstreamer plugin to Jetpack 5 installers.
-
Fix bug with creating folders on --activate argument.
-
Added new installer Oden Fleet Streamer which includes fleet client and OCP.
-
Fix P2P file descriptor leak.
-
Move HW decode checkbox out from advanced tab for gstreamer input.
-
Restore streamer resolution when auto packing is disabled.
-
OCP: Improve message protocol.
-
Added support for 2D Video dewarping.
-
Added back support for jetpack 4.6.
-
Fix libsoundio crash if default sink or source is null.
-
Cycle among bind ip’s for fleet client.
-
Fix drops of packets on com channel queues that are only sending occasionally.
-
Cleanup to rust plugin api.
Changes from 2.41.0 to 2.42.0 (October 2025)
-
Webview: Improved cef health checks.
-
Webview: Fixed multiple streamer support.
-
Fleet client is shipped by default in some Oden builds.
-
Decrease log spamming.
-
Webview: Error texture on cef process error.
-
Bifrost: Improve relay selection.
-
P2P is enabled by default.
-
Remove scene control plugin from installer.
-
Support for disable global plugins.
-
Disallow multiple vehicles with the same name to be online at the same time.
-
Fleet Client: Vehicle will disconnect if no response data has been received in 30 seconds.
-
Fix bug with flickering mouse cursor.
-
Added support for rotating log files.
-
Fleet Client: General improvements.
-
Disallow changing codec through Streamer Configurator.
-
Webview: Fix bug where cef_child_process becomes a zombie after Oden crash.
-
Fix issue where selected entity could be removed by plugin call.
-
Steamdeck button improvements.
Changes from 2.40 to 2.41 (May 2025)
-
Webview: various improvements, including stability and performance
-
Fixed resolution autopacker
-
Focus window api call
-
Multiple Remote Streamers support in Auto Packer
-
Steamdeck input support in desktop mode
-
GStreamer NVMM memory support for Jetson
-
Always encrypt p2p + add option to exclude certain subnets from p2p
-
D3D11 Decode
-
Enable bind_device without setcap or root
-
Drop JetPack 4.6 support
-
Hide continuous calibration unless enabled in settings
-
Streamer configurator mdns linux fixes
-
Fix prime offload on linux + run streamer as headless if no display
-
Crop Support in webview
Changes from 2.39 to 2.40 (October 2024)
-
Prevent sleep when Oden is running
-
Remove ip validation in setLinkDestinationIp
-
Add JetPack 6.1 support
-
Fix cursor flickering (especially on steam deck)
Changes from 2.38 to 2.39 (October 2024)
-
Activation can now be done on command line
-
Fix issue with autopacker if player resolution was reported as negative
-
High res autopacking when calibrating
-
Streamer: Add an output alignment entity to startup scene
-
View-fixed video packing, and no default packing first 10 seconds
-
Fix device serial check in snap + easier flatpak/snap device serial debugging
-
Add ability to get and set the audio output volume from gui and api
-
ROS2 video capture plugin (available on request)
-
VA-API decode support
-
Focus region now works with auto packer, and are blended for nicer visual appearence
-
Plugin API: Query + Publish var sized data
-
Plugin API: "OUI" UI system
-
Checkbox for rendering ImDraw in Virtual Camera
-
Plugin API: window focus
-
Show license error in console when headless, and fix revoke when activation is running
-
Bitrate per megapixel setting
Changes from 2.37 to 2.38 (April 2024)
-
TensorRT runtime inference metrics plugin api available
-
GStreamer updated to 1.22.10
-
Fix so that the get_camera_fps does not give the last fps value when stopping the camera as well as not giving inf value when no frames has gotten in yet
-
Added animation to the Streamer side no license message, so that the drop detector doesn’t overwrite it
-
Fix v4l2 issue on Jetson
-
Coupling / Relay server available (contact Voysys)
-
Auto Video Packing feature available - automatically detects what videos is visible at the operator and then only sends those, at appropriate resolutions
-
Check all scenes for conflict in Uuid when adding entity from api
-
Licenses can now be revoked from the command line (including headless) using the '--revoke' command line argument
-
Mpmc plugin channel available in Rust plugin api
-
Mouse only wraps when ctrl-h ui is visible
-
Truncate plugin names that are too long
Changes from 2.36 to 2.37 (February 2024)
-
Improvements to glTF model / physics engine integrations, useful in simulators
-
Performance metrics plugin api added
Changes from 2.35 to 2.36 (January 2024)
-
Licensing server connection now uses https (not http)
-
What DLA core to run neural networks on can now be specified using the plugin api
Changes from 2.34 to 2.35 (December 2023)
-
TensorRT runtime: run neural networks in Oden, on the GPU-side video images
Changes from 2.31 to 2.34 (November 2023)
(Note that there were no releases 2.32 or 2.33)
-
New RTSP and RTP inputs that does not use GStreamer, using much less performance
-
OdenRayToVideoIntersect scene param plugin function available
-
Fog function available for glTF models
-
Crash reports are now automatically uploaded to Voysys (anonymized)
-
Parent UUID plugin api function available
Changes from 2.30 to 2.31 (August 2023)
-
Quick-load shortcut available
-
ComChannels per Link Stats
-
Compression of ComChannel Packets
-
Ability to paste entities without converting inputs to clone streams (ctrl-shift-v)
-
World space noise available for glTF models
-
'Persistance Map' and 'Share Space' available, allowing for advanced bird’s eye view use cases
-
External stitch geometry api available
Changes from 2.29 to 2.30 (July 2023)
-
Remote Calibration option in Stitched Video (sync calibration parameters between streamer and player)
-
Dmp files on Linux moved to /home/user/.config/oden/(OdenVR or Oden_Streamer)/crashes/
-
Continuous Calibration: this can be used to continuously refine calibration while driving vehicle. It can also provide a quality metric for calibrations.
-
Raw recordings available for global plugins
-
Plugin api function for closing the application
-
OpenCV example plugins available in Rust and C++ (contact Voysys for more info)
-
Option to enable high precision depth buffers. Useful with large glTF models.
Changes from 2.28 to 2.29 (June 2023)
-
Plugin API for scene loading now accepts .vcene files (not only .vproj files)
-
Fix issue add entity
-
There is now a warning if Wayland is used on Linux (it doesn’t work well with Nvidia opengl drivers)
-
Fix for clone stream name syncing
-
Option to change fps camera speed
-
Entity info when right-clicking an entity in the scene graph
-
Option to move object to fps camera when right clicking it in the scene graph
-
Added experimental AV1 encoding and decoding support on NVIDIA Jetson Orin devices
-
Adding entities from the plugin is improved and more performant
-
Corrupt raw recording files (.vraw) can now be opened in some cases (functionality to recreate raw recording index on file open)
-
If a model is cloned from another model the render load is greatly reduced by the use of instanced rendering.
-
Fix flexbox rotated videos
-
The entity menu cannot be moved anymore
-
Fix glfw on some platforms (notably orin)
-
2D Videos and Stitched Videos now default to clone stream input selected
-
Show 'No Signal' for missing flexbox children
-
Fix hmd/vsync issue and a gui shrink for streamer scene
-
Fix issue with flipped virtual camera texture
-
GLTF models with animations now work slightly better
-
Settings for HMD and player audio output are now hidden by default (can be enabled in Application Settings)
-
It is now possible to have multiple project plugin paths.
-
New entity: External Scene. Allows for loading external .vscene files, that can e.g. be shared between projects.
Changes from 2.27 to 2.28 (Mar 2023)
-
Fix ImDraw draw order issue on Linux (stable_sort im_draw calls)
-
Scene Mirror now renders ImDraw objects rendered by plugins in the mirrored scene
-
Solved a rare issue with Direct Show analog inputs with changing device settings
-
Fix flexbox calc when moving entities in scene graph
-
Plugin API: get virtual camera resolution
-
set_virtual_camera_rotation() is now applied to "rotation" and not "post rotation" which makes the behaviour more predictable.
-
Block transfer functions added to the Rust plugin API
-
Rust plugin APIs for serialize and deserialize structs
-
Faster project close
-
Virtual cameras draw im_draw
-
Raw recording close is faster
-
Improve local network p2p connections
-
Clone Source Uuid Plugin Api
-
Register multiple entity types from plugin
-
It is now possible to grab calibration parameters from Virtual Cameras in Stitched Videos.
Changes from 2.26 to 2.27 (January 2023)
-
Improved robustness of Tegra JPEG decoder
-
Added API for getting output alignment ID from entity ID
-
Added APIs for checking if an entity is enabled and getting scene non-full
-
Added uploadImageEx to the plugin API
-
Solved an issue in GigE settings handling, primarily for IDS cameras
-
Added Virtual Cubemap Camera "Render Eye" option
-
Improved remote streamer getStreamSettings performance
-
Added target bitrate retrieval
-
Fixed global plugins not updating after project close
-
Prevented rust plugin panic when multiple null characters are sent as a string
-
Fixed viewport issues related to size and mouse handling after IM draw screenspace changes
-
Improved logging system, using spdlog. It is now possible to add filters to remove log messages.
-
Introduced flexbox video layouting
-
Improved scene reordering with named scenes
-
Fixed default text scale for better visibility when creating text
-
Updated GLTF model support
-
Improved Spout support with better handling of targets with weird alpha values
-
Enhanced API and error messages for setting SEI metadata
-
Fixed issue when reconnecting USB audio devices on Linux
-
Improved P2P connectivity for complex network setups
Changes from 2.24 to 2.26 (December 2022)
-
Fixed Linux audio issue on high system load
-
Improved logging for audio device probing failures
-
Fixed packet loss reporting when using FEC
-
Added a new input type for FlexWATCH cameras
-
Added bandwidth regulator control through the plugin api
-
Fixed an issue when removing the active scene from a plugin
-
Implemented a version mismatch warning (streamer / player)
-
Improved scene exporting with the create_full_project_files flag
-
Added a plugin API for getting link statistics for a specific link index
-
Reworked the audio system to prevent blocking the main thread
-
Improved decoder performance and prevented latency buildup
-
Fixed video capture plugin initialization issue
-
Updated settings for inactive video sync and idle framerate cap when VSync is enabled
-
Send disconnect message when exiting the Streamer Configurator
-
Revoke now checks for connectivity before revoking local license
Changes from 2.22 to 2.24 (August 2022)
-
Reduce memory consumption, add profiling, reduce allocations etc
-
Add z index support for viewfixed rendering with the plugin
-
Improved project load time
-
Log oden version at startup
-
Reduce time to handshake with wireguard server
-
Remove Ctrl+L as default for orbit camera toggle
-
Add plugin api to close project
-
Improve video first decode time by repeating sps pps
-
When changing resolution from a plugin is now frame perfect with output alignment.
-
Made audio system more robust
-
Fixed a bug where the mouse could disappear when closing Oden.
-
Add setting to enable logging to syslog on linux
-
Fix init of plugin if license is not valid yet
-
Added plugin api to get the decoder status for the last 64 frames
-
Fixed a bug where popup window appears when closing project even when "No prompt on exit" was checked
-
Improve intel decoder error message
-
Tweak idle framerate logic
-
Fix so that get_camera_fps does not give inf before the camera starts as well as give 0 fps when turning the camera off instead of the last fps
-
New plugin api: getOutputAlignment
-
New plugin api: getRenderInfo/setRenderInfo (get/set streamer output resolution)
-
Fixed an issue with plugin functions called on inputs without a drop detector
-
Orin support, not yet uploaded to release page
-
Added ability to set which camera to sync to on from a plugin.
-
It is now possible to skip frames for MPJEG coded data to save on hardware load
-
Added plugin api to set output alignment and link get link stats
-
There are now separately drawn drop detector blackout graphics for each sub-video capture from remote streamer
-
If downloadVirtualCameraImage() is called sparsely it will not cause GPU stalls on each call.
-
New plugin function call: setTextureDowloaderPersistent()
-
Extended network stats are now saved to / played back from raw recordings
-
Encoder test is now available as a video input type (it has a smoother encode characteristic than the default video test src, so it is useful for substituting missing video when testing streamer→player setups)
-
downloadVirtualCameraImage() in plugins can be used on 2D Videos
-
Added settings for audio sending auto start
-
Added support for hardware accelerated decode with Intel GPUs on Linux
-
Added support for using the default audio device
-
Allow com channel to specify destination remote streamer
-
Added plugin api to load scene
-
Added plugin api to control audio
-
Fix decode of mjpeg 4:2:2
-
Fixed issue that Dshow did not retry on disconnect if the Dshow GUI was open.
-
Fixed bug where raw recording would not move plugins to the raw recording folder if the plugins where in the same folder as the project
-
OdenVrDev now contains one more example plugin as well as newer build files
-
Added docs for RTSP input
-
Added plugin api to get the time when Oden has gotten the frame from the camera
-
Added plugin api virtual_camera_pixel_to_ray
-
Added raw version of async com channel send to the rust api
-
Fixed issue with OpenXR on new Nvidia drivers
-
Added ability to render a Remote Streamer texture to a virtual webcam
-
Plugin api to get entity name
-
Added remote stitched video
-
Added plugin api to check for unsaved changes
-
Added plugin api to set gui visible
-
Added plugin api for retrieving calibrated floor height if a horizon calibration has been made.
-
Added documentation for project Settings
-
Add function to rust api bindings, get_hmd_transform
-
Fixed issues with Streamer Configurator
-
Fixed a bug where draw was not called for plugins
-
Improved Rust Plugin Documentation
-
Fixed issue where sometimes rendering would stall for some milliseconds
Changes from 2.21 to 2.22 (May 2022)
-
V4L2 video inputs (linux only) with encoded formats can now be raw recorded
-
Added plugin API functions for peer-top-peer functionality
-
Fixed issue with Vimba inputs and exiting the application
-
GStreamer on linux updated to 1.18.6, and an additional library dependency was added
-
There is now experimental support for visualizing set ECN bits (can be used for network-level congestion control)
-
More documentation added, e.g. for: plugins, statistics, streamer configurator
-
Clone streams now gets the source’s filter settings. When copy to texture is enabled it is possible to modify the filter fo the clone without changing the source’s filter.
-
Plugin hot-reloading events are now debounced (so a single plugin rebuild only causes one plugin reload)
-
Fixed rare issue in Output Alignment with resolution scaling, where one line of incorrect pixels could appear
-
Added Acoustic Echo Cancellation (AEC) for two-way audio streaming
-
Raw recording playback loop can now have a custom start and stop time.
-
Added the ability for links to automatically transition to a peer-to-peer connection when possible
-
Fixed an issue where an empty bin folder could be created in the raw recording folder
-
Fixed an issue where raw recordings could end up in the parent folder instead of the correct folder.
-
Fix so no "save star" appears on start of streamer
-
Small UI changes in the Com Channel tab
-
The usability of the output alignment entity was improved
-
Disabled setting UI Scale from Player through Streamer Configurator
-
Streamer Configurator max resolution can now be set
-
Command line --version and --help now works on windows applications
-
Fix license activation in docker and in virtual machines
-
Fix and issue with gltf rendering
-
Messagebox on plugin crashes is hopefully now even more helpful (windows only)
Changes from 2.20 to 2.21 (April 2022)
-
Fix for rare out of bounds issue in extended statistics
-
Console output when running oden in windows terminal and git bash
-
Environment variables can be used in paths. To use set the variable between two '%', e.g. %HOME%
-
Changelog links from help menu works again
-
It is now possible to name scenes in the Scenes pane (scene name = root entity name, so it was already possible before to name scenes but now it is hopefully easier)
-
Added buttons for moving scenes up and down in the scenes list
-
Added more keyboard shortcuts that can be customized
-
Added plugin API functions: getViewportInfo and getViewMousePosPxWithOffset
-
Option to not shrink view when GUI is visible
-
View Fixed 2D Videos can now be rotated, mirrored and cropped
-
Fixed issue on Linux where Oden run at 1fps if no flir cameras where connected while opening a project that had flir cameras in them.
-
Plugin function for getting plugin instance UUID
-
Drop Detector now shows the currently set timout in addition to "No Signal" on timout
-
Much faster dynamic resolution changing with NVIDIA hardware decode
-
Intel HW decoder
-
Feature calibration was reworked and can now capture multiple image sets. It is still an experimental feature.
-
Allied Vision Vimba camera driver input now available in Oden Streamer and on ARM64
-
Fix H.264 dynamic resolution change
-
Fix very rare bug when removing entities that had child entities connect to it.
-
Add support for disabling intra refresh on jetson
-
Streamer Configurator is now available in OdenVrDev
-
The virtual camera can now be set directly to the same as the view in Oden.
-
Fix rare issue when using FEC with small maximum packet size
-
More documentation on common entities is now available
-
Hide an entity now disables their childrens update functions as well
-
Oden now repeatedly tries to access the license server until successfully connected.
-
NVIDIA Jetson: Faster decode of h264, h265 and MJPEG video
-
Easier access to the documentation with Icons to get the user straight to the relevant documentation.
-
The "CSV Dump" sample plugin has been renamed "Statistics Logger" and can now log per-frame statistics (all sample plugins are available on demand from Voysys)
Changes from 2.19 to 2.20 (February 2022)
-
Fix issue with decoding on Tegra
-
Fix where where the input from Remote Streamer would flicker
-
Added documentation:
-
Virtual Camera
-
Remote Streamer
-
2D Video
-
Output Alignment
-
Application Settings
-
Optimal Latency Setting
-
Fix reset view function for OpenXR HMDs
-
Removed the focus region button from stitched video
-
Fix issue where the project could not load plugin when using load_project() from project.
-
Streamer Output Alignment entity is now called Output Alignment.
-
Camera Manager now shows the mac address along with the IP of which devices that are found
-
Fix for set mac address in camera manager
-
Changed min bitrate from 0→0.01Mbit/s in streamer configurator
-
Fixed using tab in streamer configurator
-
Netsim and scope will not pop up a terminal anymore
-
Raised netsim min bandwidth in GUI to 0.01 Mbits/s and added a Kill Link checkbox
-
The keyboard shortcuts for "reset view" and "close project" can now be changed in the application settings
-
The keyboard shortcut for "close project" has been changed to be default inactive (previously it was Ctrl+W)
-
Widget label text now aligns better with rest of widget
-
Fixed a issue when running focus region if the Player was started before the Streamer
-
Extended Hawk eye mouse plugin with scene specific resolution
-
Webview plugin now available (prototype/proof-of-concept)
-
Add more network related plugin APIs
-
Fixed issues with Sony GigE Cameras
-
Fix saving input texture if multiple inputs are opened in Stitched Video entity GUI
-
Rectangle aligned functions did not respect the pushed matrix (but now they do)
-
Tool for converting raw recordings to other formats (VRAW Convert) is now available in stand alone repo: https://github.com/voysys/vraw_convert
-
Fixed issue when calibrating with a locked, rotated camera where the camera could slightly drift
-
Overcapture zoom can now be controlled directly by a joystick axis
-
Fix issue in LLTP where tiny packets could sometimes be skipped
-
Fix issue with FEC that prevented it from working on tiny frames
-
It is now possible to set a per-scene resolution
-
Fix: Output alignment is now frame perfect (again…)
-
Fix Direct Show with some capture sources
-
Fix: Stream select from remote streamer
-
Better bandwidth regulation on low bandwidth networks
-
Reduce overhead on low bandwidth networks
-
FEC amount changed to percent and a tooltip was added to hopefully make it a bit more clear what it does (GUI-only change!)
-
New plugin api to return the scene id of the scene containing a plugin: getSceneContainingPluginEntity
-
Application Type function for plugins
-
Support BGR video in Raw Recordings
-
Fix stopping Raw Recordings when using multiple scenes
-
Fix issue when deleting scenes during a Raw Recording
-
Good streamer defaults in Oden Player too
Changes from 2.18 to 2.19 (December 2021)
-
Added copy position, scale and rotation in the entity context menu (right click)
-
Added Move View Here in the entity context menu (right click)
-
Projects created in OdenVR now have better streaming settings, which prevents some issues when projects created in OdenVR are used in Oden Streamer
-
New plugin api functions added: getApplicationType
-
Firewall rules are now added on installation on Windows
-
The default marker size is now the same as the marker size of the Voysys calibration board (150 mm)
-
It is now possible to save the texture of a video input, using the "Save Texture" below the texture preview
-
New sample plugin: Camera mover (rust)
-
New sample plugin: Hawk Eye Mouse (rust)
-
New sample plugin: Project selector (global, rust)
-
New sample plugin: Hello world (rust)
-
Changed so that Streamer Configurator deactivates the Drop Detector during use
-
New plugin api functions added: indent, unindent
-
Linux: Fix a bug preventing license activation on systems with encrypted LVM volumes
-
The view can now be zoomed using the mouse when separate projections horizontal or vertical is active
-
The plugin api function getFpsCameraState now returns the correct value for field of view when separate projections horizontal or vertical is active
-
Statistics view cleaned up: no basic/advanced, no confusing "cpu %", no confusing "sync" data
-
Fix issue with encrypted initiator links
-
Fix issue with focus region out of sync
-
Fixed issue where a Direct Show device with only the name matching the specified device in the project would not be opened if it was disconnected when the project was loaded
-
Added fault for hmd not on user head
-
Added option to force a HMD into active state
-
Fixed rendering of fps camera when hmd is disconnected
-
Raw recording now copies the plugin files to the raw recording folder
-
When unselecting the focus region the 2D video will be reset regarding crop data
-
VSCP now has trajectory support (the trajectories can be added to multiple scenes)
Changes from 2.17 to 2.18 (November 2021)
-
Added a plugin api call "setCloneStreamSource", to set the source of a clone stream.
-
Solved issue with update order of clone streams and cloning from sources in other scenes.
-
VSCP: support arbitrary com ports on linux
-
Focus regions can now have multiple different qualities that stacks on top of each other, with the highest quality on top. You can also change the size of the output alignment objects in pixels.
-
Added scene functions in rust plugin + example
-
Better error handler in rust plugin logger
-
Fix issue with licenses on Ubuntu 20.04
-
There is now a "glance" gui for Remote Streamer entities, and a preview of the texture.
-
Add matrix rotation example to example plugin rs
-
Add api for raw recording in oden_plugin_rs
-
Directshow inputs can now retry until connected, and also handles disconnects better
-
Only draw streamer configurator on gui monitor
-
Option to calculate a more optimal intra refresh count automatically
-
Plugin api function getCameraCropData() can now be used on both 2D Video and Equirectangular Video
-
Plugin api function asyncComChannelReceive() will now always try getting one message.
-
Fixed issue when gdrRollover was to late causing oscillations in output bitrate
-
Added an option for variable noise in the encoder test
-
Added GUI for const qp mode on jetson
-
Fixed rare FEC issue caused by invalid decoder parameters
-
Added set_streamer_max_mandwidth() to the rust sdk
-
Only show vsync text in gui if using vsync and running as player
-
Fixed imgui rendering with intel gpu
-
Solved issue with setting a negative bitrate as target bitrate.
-
New and (hopefully) improved docs system
Changes from 2.16 to 2.17 (September 2021)
-
Listing GigE cameras from plugins will now also return opened cameras.
-
OpenVR init now tries to open the HMD for a longer time (this fixes some corner cases, e.g. when the HMD was powered down before opening Oden)
-
The FPS counter is now low pass filtered (easier to read, still fast)
-
Fix raw recording playback of short frames
-
Raw recording support for Remote Streamer audio
-
Fix Remote Streamer raw recording for auto-cropped Clone Streams
-
Async com channel now check that the message size is the same as the received one.
-
Added Force Feedback device selection
-
The Statistics tab now only show the original LLTP stream and not the sub streams.
-
Added configurable resync limits (LLTP and audio)
-
API function getEntityVideoSize() now gives the video size after hard crop is applied to the video.
-
Force Feedback can now control the force directly from the plugin api
-
Focus region can now use cropped sources.
-
Fixed issue when selecting OpenVR input without a device connected.
-
Add bind address option to streamer configurator
-
Add optional delay after camera sync
-
Don’t allow sync on virtual cameras
-
Allow changing input type after capture creation failed
-
Fix loading of projects via the plugin API when using Windows path separators ("\")
-
Linux spinnaker usbfs limit warning
-
Move build system for example_plugin and empty_plugin to cmake
-
Prune old streamer stats links if inactive
-
Renamed the "Sender" and "Receiver" link modes to "Initiator" and "Responder", respectively, to better reflect what the different link modes actually do.
-
Added an integrated GUI for V4L2 camera controls
-
Fix issue where Oden started with the wrong scene when starting a project from the command line
-
Midi/OSC can now be optionally enabled in application other than VR Producer
-
It is now possible to start/stop raw recordings using Midi/OSC
-
Video inputs with no source set is now hidden in the Clone Stream selection and Sync To Video selection.
-
V4l2 now reconnect until success
-
Virtual camera and virtual cubemap camera now uses the entity position and rotation (and not special position/rotations). (Projects with legacy settings will keep on working.)
-
Virtual cubemap cameras can now create cylindrical projections.
-
The latency statistics function has been replaced by a "performance metrics" view. (The old latency statistics view was hard to use, and it is preferable to measure latency externally anyway.)
-
Threaded calibration captures (higher performance)
-
The order of the entities when cloning from a Remote Streamer does not effect the viewport anymore.
-
The front-facing camera on OpenVR headsets can now be directly accessed, which is lower latency than going via direct show.
-
The 'Follow HMD' entity can now optionally use the pose of the front-facing OpenVR camera, which allow for a latency-compensated see-through view.
-
Fix issue that prevented multiple encrypted Streamer links from being regulated correctly when routing through a regular WireGuard server.
-
Streams are removed from clone stream selection on player if the button "Stream Crop Data" in a Output Alignment entity is unchecked during runtime
-
Now can the regulator mode be set and get from a plugin, the auto mode switch can also be turned on and off from a plugin.
-
Longer wait before hard close on ctrl+c
-
When using Remote Configurator Oden will now ignore local hotkeys
-
The V4L2 input now has a blocking mode
-
Size and position of "view fixed" 2D Videos can now be set in percent.
-
An Image video capture is now available, allowing to display images easily as video.
-
Fix initialization issue for gstreamer video captures on linux
-
Channel usage graph
-
Fix issue when negative target bitrate was entered in oden streamer
-
Fix separate projection set fov from plugin
-
API functions resetView and inhibitMouseLook now effect the scene that the user is in not only the scene which the plugin is located.
-
If Oden is killed by SIGINT or SIGTERM and there are unsaved changes, the Oden window will be focused for the user.
-
Video capture ROS: allow more encodings than just raw
-
Added support for raw recording Argus inputs
-
Added support for frame skip in raw recordings
-
The pixel size of a video can be requested through a plugin function now.
-
Displayed size for focus regions in Output Alignment is now fixed
Changes from 2.15 to 2.16 (May 2021)
-
Option to list all Direct Show devices (can be used to input e.g. Decklink devices using dshow)
-
Alpha channel transparency (e.g. via NDI) is now supported for equirectangular videos
-
The plugin system has been expanded with support for custom video inputs
-
Add the switch "--configurator" to Streamer, this will allow players on the network to access the streamers gui with the streamer configurator entity
-
Streamer configurator can also access a streamer if there is a remote streamer connected to it in the same project.
-
OpenVR controllers now have textures and it is possible to access their state via plugin api (as joyticks, for now)
-
Option to show/hide HMD controllers added to plugin API
-
Focus Regions is a new feature that enables the possibility to send parts of a video stream in higher resolutions.
-
Projects are now added with correct path to recent projects list even if saved without .vproj in the specified project save path.
-
Option to list Decklink dshow devices
-
(Linux) SIGINT and SIGTERM are handled in Oden and a soft closing is now made if either of those signals is received.
-
Fix a rare cast overflow in nvdec
-
Updated GStreamer to 1.18.4
-
Improved NVDEC stability and memory consumption
-
Added OpenXR support on Windows
Changes from 2.14 to 2.15 (April 2021)
-
Functions to show/hide HMD controllers added to plugin API
-
An integrated link (peer-to-peer) encryption is now available, that uses application-side WireGuard
-
An extended statistics view for network packet arrivals and frame timing is available (Remote Streamer -> Network -> Link -> Stats -> Enable Link Stats)
-
Small changes for raw recording. Calling rawRecordIsRunning() from a plugin will now also result in true if an solo raw recording is active. It is not possible anymore to have multiple entities to do solo raw recording at the same time.
-
Quick fix for an issue with dalsa GigE cameras
Changes from 2.13 to 2.14 (March 2021)
-
Breaking change: Complete rework of network handling. LLTP, audio, com channels, and the bandwidth regulation systems now share a single port per link, making network configuration much easier. The network link settings need to be reconfigured.
-
Breaking change: The Realtime Audio Link functionality has been incorporated into the Remote Streamer entity and needs reconfiguration.
-
Breaking change: The standalone LLTP video input has been removed. You now need to use the Remote Streamer entity to receive LLTP video.
-
Breaking change: Com Channels have been simplified by removing the routing and multiple links support. All messages sent through Com Channels now pass through the same link.
-
Added plugin api to fetch all entities' uuids
-
Added plugin api to get the type name of an entity
-
Added plugin api to get basic link statistics
-
Add async com channel api to plugin_rs + use com channels for gps plugin
-
Added a graph widget to the plugin api
-
Fixed issue where ctrl+enter did not work as intended.
-
Safety features have been added to VSCP
-
A cylindrical projection is now available. This can be useful on curved, wide monitors.
-
Settings is split into project and application settings, making it easier to understand what setting is saved where.
-
Dome settings are moved to application settings.
-
Added profiles to the streamer regulator parameters
-
Improved regulator recovery time after packet losses
-
Camera discovery only starts when each type of camera is used
-
Fix issue in scene mirror where it would display on live output when cut to live even if the root was disabled on scene mirrored from.
-
A new 'Video Composition' entity is now available that allows for combining multiple captures into one output composition. The output composition can then be used with Clone source as input for video display entities etc.
-
Added api to access camera texture
-
Api for getting gl images
-
Fix for rare audio issue when waking from sleep
-
GStreamer was updated to 1.18.3
-
Fixed issue when going from "Windowed Fullscreen" -> "Windowed" on Ubuntu
Changes from 2.12 to 2.13 (February 2021)
-
A template system is now available. This can be used to customize locations of entities etc when using the same projects on multiple player layouts.
-
In Oden Streamer frames can now be skipped as a measure to reduce bandwidth when in sync with a camera. This will decrease the fps on the streamer.
-
Fixed some issues when installing dev version on linux
-
Fix a recording playback bug (remote streamers can now be both recorded and played back properly)
-
Instructions are now available for setting up a wireguard server
-
Added Dynamic Forward Error Correction (Dynamic FEC, DFEC)
-
Fixed an issue in the Drop Detector
-
Fixed out-of-sync frame metadata and statistics
-
There is now a function available for fine-tuning calibrations using visual features from the video images. Fine-tuning calibration using visual features only affects camera rotations and will not change intrinsics (i.e. k-values and offsets) or camera positions.
-
Thumbnails are now available for video inputs, making it easier to keep track of inputs.
-
Cube map projection input available (choice in equirectangular video)
-
Added option to disable undo (Performance of very large scenes)
-
Fixed bug where com channel communication would not reset on player restart
-
Fix Network Statistics latency measurements with Video Capture LLTP as Remote Streamer input
-
The Video Capture LLTP input now works with the getVideoReceivePort and setVideoReceivePort API calls
-
Fix issues with H264 on Jetson/Tegra platforms
-
Fix issues with having more stitch zone position controls than number of video sources
-
Fix an issue with combinations of asymmetrical stitch zone position controls and stereo stitch zone position controls
-
VSCP: fix issue with remapping inputs to a new joystick type
-
Routes and multiple links in com channels are removed, which means that Com channels can now only have one link. (Breaking change, but we know of no users who used this. Please contact Voysys if this change affects you negatively!)
-
Projects are now added to recent projects' list on save
-
Combo of view-fixed + virtual camera now works
-
Manual geometry adjustment now has options for adding a ground plane and sector regions.
-
The "Stitch Zone Position Control" feature has been optimized and now has a bit better performance in camera rigs with multiple cameras.
-
A frame-group coherence option is now available. This can be used to guarantee that the frames from a group of hw-frame-synced cameras are swapped in at the same time.
-
A new plugin api call can set a shutdown callback. This can be used e.g. to save important data to disk or take some other action if the system is about to shut down. See example plugin for documentation.
Changes from 2.11 to 2.12 (November 2020)
-
GStreamer updated to version 1.18.1
-
Libav/ffmpeg updated to version 4.3.1
-
Attempt at solving an issue where the camera would rotate too much when the mouse wrapped from one side of the screen to the other.
-
Duplicate log messages are hidden. There is now a message in the log window telling how many duplicates that were removed.
-
Save/Load Calibration Images function is enabled again
-
A sub-menu with recently opened projects has been added
-
Add hardware accelerated H.264, HEVC and MJPEG decoding for NVIDIA Jetson devices
-
Added support for using FEC (forward error correction)
-
Matte key is now also available for equirectangular video and stitched video.
-
Fix bug with Windows Mixed Reality and Spanning Fullscreen that caused Oden to render to the wrong displays
-
Basic control for cameras using the ISO17215 standard (e.g. Orlaco Emos) is now available, in stitched video->camera manager
-
Solve some issues with FLIR and Basler GigE cameras
-
NDI inputs can now have RGBA format with alpha channel transparency
Changes from 2.10 to 2.11 (October 2020)
-
Directshow inputs will now open same-name devices if non-ambiguous even if paths differ
-
Plugin api: the parameters for the plugin dragFloat function has changed slightly when power != 1.0f. Added a runtime warning and more details in the documentation in the example plugin.
-
Fixed settings for RealtimeAudioLink entities in projects created with Oden >= 2.8.0 not being saved
-
The plugin API now has the functionality to see if the Raw Recorder is active or not.
-
There is now dynamic bonding support for streaming video over multiple network links
-
Added plugin API functionality for setting and getting LLTP, bandwidth feedback, audio and com channel ports.
-
Added plugin API functionality for starting and stopping video inputs.
-
Fullscreen is now available as a window menu option (in addition to the Alt+Enter shortcut)
-
2D Videos now have a Matte Key function, that can use the luminosity of another input or an image file as alpha channel transparency
-
It is now possible to use MIDI or OSC to change scene and do some other common actions, e.g. capture calibration image set (especially convenient via wifi and TouchOSC on a phone)
-
OSC can be used to capture calibration image sets by pressing a button on a phone (e.g. using "TouchOSC")
-
Scenes, inputs and entities can now have associated colors as well as names, making them easier to locate and distinguish. Scenes will have the same color as the root entity in that scene.
-
There is now a right-mouse-click context menu with options to reset color, position, scale and rotation for entities
-
The gui for scale and rotation has been updated
-
Fix an issue that could cause nvdec to loose encoded data under exceptionally high system loads.
-
The RTP input can now accept an mpegts muxed stream with embedded audio
-
Multi-GPU decoding is now available: for some encoded inputs it is now possible to specify which decoding device (gpu) that is to be used for decoding them
-
Text now has a glow / drop shadow option that can make it more visible on different-colored backgrounds
-
The log can be copied to clipboard by pressing a button (next to clear, in the log window)
-
A memory inspector is available for viewing the content of com channel messages (in hex and ascii)
-
Fix an issue with RTMP and HLS playback that would result in stuttering and irregular framerate for some sources
-
A monochrome gui mode is available (can be enabled in the settings)
-
Cut/copy/paste support for entities in the scene graph (video captures are replaced with clone streams on paste, enabling quickly duplicating things between scenes)
-
The delete key can be used to delete entities in the scene graph
-
Undo/redo is available via the Edit menu or Ctrl+Z/Ctrl+Shift+Z
-
New api functions added: startStreamer, stopStreamer, getStreamerStatus, setStreamerDestinationIp, setStreamerDestinationPort, getStreamerDestinationPort. Allows for interactions with the streamer. See example plugin for documentation.
-
Touch input is available in the windows player
-
For separate projections there are now two new modes: identical and individual. If touch input is used, then the individual mode allows connected monitors to be controlled as separate viewports.
-
New api calls are available to push/pop screen space for imDraw. Screen space coordinates are in screen pixels, so this mode is useful for drawing on screen gui widgets etc. See the example plugin for details.
-
A new api call is available for accessing connected monitors' resolution and positions. This is useful when rendering in screen space. See the example plugin for details.
-
It is now possible to use chroma key and color adjustments for view fixed 2D videos
-
Fixed an issue where opacity was not saved for equirectangular and 2D videos
-
View fixed 2D videos now handle draw order and transparency better
Changes from 2.9 to 2.10 (September 2020)
-
Hevc profile can now be set on Jetson Nano and Jetson Xavier, available options are "Main" and "Main10"
-
Add Linux OpenVR support
-
Oden Streamer Gateway now has reorder and redundancy support
-
Changed order in the "Add Child" and "Input" menus to make it easier to find what you are looking for
-
There is now in-application font support for korean (to use non-latin fonts for the Text entity choose a font that has proper support)
-
UTF-8 file and path names are now better supported on Windows
-
The lltppay element has been removed (gstreamer can no longer be used to send lltp from Oden Streamer)
-
Fix an issue with nvenc and changing mode in bandwidth control
-
The Usb3 camera driver did not perform well, and it has been removed from release builds
-
The GUI has been refreshed, with icons for some functions and an ability to "pop" out some panes
-
The linux dev setup docs has been updated
-
The drop detector has been optimized and now uses a lot less gpu resources
-
Fix stats feedback reset issue on player computer restart
-
ImDraw functions have been optimized to use less resources
-
In vscp it is now possible to use gear for simple drive model
-
Fix a rare issue in the realtime audio capture system
-
Com channels now properly binds on multiple links
-
Fix minor issue with vscp stats
-
Change default RTSP URL to rtsp://127.0.0.1:8554/live
-
Fix bug that caused a program slow down when failing to initialize an RTSP connection
-
Improved documentation. Click About->Manual to see the changes.
-
A function for accessing the current streamer bitrate is now available in the plugin api
-
The Rust plugin api now has some additional functions (download virtual camera, a few com channel functions, get streamer bitrate)
-
Raw recording is now available for encoded video captures (h264, h265, mjpg)
-
Raw recording now works for 2D videos (not only stitched video)
-
Remote Streamer can now be saved as raw recording (including graph data)
-
Raw recordings will now record all scenes in a project
-
Statistics for all video captures is now available under the Statistics heading
-
The Decklink SDK (Blackmagic) was updated to 11.5.1
-
Decklink (Blackmagic) input devices will now automatically change to the mode of the current input video
-
Fix a rare issue with inspecting dome calibration images
-
The GigE camera input has received improvements to stability, performance and configurability
-
Fix an issue where curves would not work properly when first added.
-
Fix regulator issue when multiple links have different latency
-
Streamer: Don’t bind on an non existent network interface
-
Expose streamer statistics for multiple links
Changes from 2.8 to 2.9 (July 2020)
-
Fix dependency issue on Ubuntu 16.04 (could cause installation problem)
-
Fix an issue where curves would not work properly when first added
-
Fix regulator issue when multiple links have different latency
-
Streamer no longer binds on inactive network interfaces
-
Streamer statistics for multiple links are now exposed in the plugin API
-
Fix an issue where CPU usage would be too high on one CPU core in some situations (due to mis-configuration of an inactive audio subsystem)
-
Fix rare issue where mouse wrapping would glitch (causing jerky fps camera moves or value jumps)
-
Fix window size issue when starting oden with < 1900x1000 resolution
-
Add support for Oden Ethernet Audio device
-
An experimental auto exposure algorithm is now available, with definable regions. This is useful e.g. when driving and good exposure is desired on the road ahead but the sky is not important. Currently only works on FLIR (Spinnaker) inputs.
Changes from 2.7 to 2.8
-
Background color settings is now part of the project settings. Breaking change: Existing projects that use a non-default background color need to re-apply that setting.
-
Solve some issues with dates later than 2038 (unix_epoch / time_t overflow)
-
Fix an issue where the screen would go black when horizon controls were selected
-
Add 4-way asymmetric stich zone adjustment
-
Realtime Audio Link output can now handle default audio device changes
-
Fixed some issues with Realtime Audio output
-
Added OpenVR HMD reconnect support
-
Added FollowHMD entity, which allows to place entities in a locked position in HMD view
-
Oden now only renders to HMD when it is on the user’s head by default (this is configurable in the settings)
-
Fix an issue with disconnecting the monitor that contains the Oden window
-
Fix an issue with resizing Oden to less than 400 x 24 px
-
Moving time in file playback is improved
-
An issue was fixed where hidden files would start to play on a scene transition to live
-
The audio playback system has been updated from dsound to wasapi, and should now have lower latency
-
Deselecting update of hidden scenes now also pauses file playback for files in not-active scenes. This can free up a lot of system resources in projects that have many scenes and many audio or video files.
-
Slower framerate averaging
-
Fixed a rare race condition in statistics accumulation that could make the regulator not function properly with high output bandwidths
-
Fixed minor issue in sei data send
-
Installer for Oden Gateway is now avalible
-
Due to protocol changes it is not possible to connect streamers with version < 2.8 to players >= 2.8 and vice verca
Changes from 2.6 to 2.7
-
Debayering "Type 3" is now available (BG-pattern)
-
Additional pixelformats available for Spinnaker inputs (UYVY, RGB, BGR)
-
Flycapture2 inputs now work for non-GigE cameras.
-
Fix an issue with cloning Virtual Cameras
-
A fault is now raised if Oden is not visible in Oculus headset (only if a headset is connected)
-
Com channels can now be relayed via the Oden Gateway
-
Update the realtime audio system to support two-way streaming
-
The "autoconnector" feature was removed (for Raspberry Pi cameras connected over network)
-
Display capture is now available as an input source.
-
The ImGui version was updated, this gives a slightly nicer look to the GUI
Changes from 2.5 to 2.6
-
Added support for global plugin instances
-
Fixed an issue with RTSP inputs and HW decoding. Also added gui to show what codec is selected when capture is started for some coded inputs.
-
A visualization has been added to show how multiple videos are in sync (aplicable when the rendering is synced to a video capture)
-
2D Videos now can have a curvature (cylindrical surface).
-
There is now an anti aliasing option for 2D videos.
-
The border of 2D videos has been slightly reworked, and now offers antialiasing between border and video.
-
It is now possible to set stream packet size on GigE captures.
-
It is now possible to list and adjust settings in Imperx GigE cameras.
-
Add binning support for FLIR cameras
-
Add ability to reset FLIR cameras
-
Fixed an issue that could happen when printing massive amounts of text the console
-
Fix a minor issue with graph widget rendering
-
The NDI output resolution can now be set manually
-
Add multiple link support to the audio streaming system
-
Added warning in gui and disabled streaming using rtmp when h265 is selected as codec (rtmp only works with h264).
-
Fix an issue with too high nvenc bitrate in some cases
-
Options are now available to change the dictionary marker bits in the dome calibration.
-
Async decoding has been added. This will greatly improve decoding of multiple compressed streams, e.g. Kandao or multiple Orlaco cameras.
-
Fix an issue where bandwidth control data was always transmitted over the default network interface, even when multiple links was configured
-
A Particle System Entity is now available. (This can e.g. be used similarly to encoder test to add movement to otherwise static scenes.)
Changes from 2.4 to 2.5
-
Fixed an issue with importing scenes
-
Fix issue in com channels where an override of an outgoing message id would not be applied.
-
Improve realtime audio link stability
-
V4L2 captures now use persistent video IDs and max timeouts can be disabled
-
Silence warning about failing to convert clipboard to string
-
There is now an Oden cloud component available, which is part of the fleet server functionality
-
Fixed missing pixels at inner border of border
-
Decklink api updated to 11.4
-
Improved rgb to nv12 conversion performance
-
Fix an issue related to clipbord on some versions of Linux
-
Fixed issue related to opening old project files
-
Added a flag for syncing calibration from source stream to the clone stream so that a clone can have a calibration independently of the source video calibration.
-
Added option to send packets with lltp only on some interfaces allowing configuration of interface bonding
-
A solution for emergency stop with hmac authentication is now available in VSCP
-
Fixed some minor issues in LLTP
-
Workaround for migrating settings from older versions of Oden: When opening a project which was saved with an earlier version of Oden, calibration crop compensation does not work correctly. To enable crop compensation the user should press "Migrate to new project". Located in the corresponding stitched video under "Input" -> "Advanced". When migrating it is important that the same stream resolution and cropping factor is active, as when the calibration was performed. Also make sure that the correct scene is selected in the streamer application.
-
Fixed issue in LLTP depay
-
Fixed multilink setup with one broken interface
-
Fixed issue streamer feedback
-
Fixed issue with no sync was active
-
h264 resolutions are now clamped to valid values
-
A custom driver implementation for GigE and USB3 cameras is now available
-
Added some features to VSCP: voltage measurement and flip-on-reverse
-
Add support for tilting the Dome renderer cutoff
-
The VSCP plugin now has a Gear -> Scene function
-
Fix issue with GPU Drop Detector timestamps
-
Support for 10 bit depth color for FLIR cameras, including tone mapping
-
Quanergy M8 LIDAR bug fixes and performance improves
-
Oculus init code will now only run if Oculus is selected as HMD
-
An example plugin is now available to get gps position from max br1 router (contact Voysys to get it)
-
Fix Oculus Rift issue related to disconnecting the HDMI cable
Changes from 2.3 to 2.4
-
An option is now available to wait up to one frame for packets to make lltp more reorder resilient.
-
V4L2 inputs are now available on linux.
-
Spinnaker (FLIR) inputs should now be more robust with multiple cameras.
-
Spinnaker GigE support has been deprecated (it was making Spinnaker unusably slow when GigE cameras were connected)
-
Optional Spinnaker input reconnect support. It will also attempt to connect to cameras that exist in the project file but has not yet been found.
-
For clone inputs: calibration values are now copied when both source and clone are in stitched videos.
-
Fix calibration issue when video placement data was missing
-
Fixed issue: when switching window mode from fullscreen to window, or other way around, any further changes to window mode would not have any effect.
-
Fixed an issue where the text "You need to restart to enter or exit fullscreen" did not reset correctly after changing to a different mode.
-
VSCP now handles usb disconnect events better.
-
VSCP receiver now has better linux support.
-
There is now support for adding V4L2 inputs in gstreamer pipelines
-
Fixed a memory corruption issue
-
New magic for video placement. This means earlier versions of OdenVR / Streamer cannot communicate video placement information with later versions.
-
Fixed a rare issue where "NaN" would show up in .vproj files on save, making them impossible to open
-
NDI was updated to version 4.1.
-
The realtime audio system should now handle devices with different sample rates better
-
Fix crash in output_alignment.
-
A GPU-based drop detection system has been added. Stale video inputs are now cleared, giving fast feedback on frozen video.
-
Fix crash when opening some project on Streamer in some configurations
-
Fix an issue where Oden settings was being reset on startup
-
Remove old audio system from Industrial builds (use the real-time system instead)
-
Fix a memory leak in Streamer that occurred when trying to use an invalid System Input
-
Fix Oculus Rift latency regression
-
Add performance stats to Oculus GUI
-
Fix an issue with ImDraw depth order drawing
-
Added ability to regulate the bandwidth based on the measured channel usage of the worst link when using multiple if it is better then a threshold.
-
Added an option to not allow the regulator to increase bandwidth if the accumulated packet loss over time is over a threshold
-
Fix an issue that prevented fetching SEI metadata from Remote Streamer entities.
-
Fix an issue where SEI metadata timestamps would be set to UINT64_MAX.
-
Fix bug when saving reduced project file.
-
If oden detects that an image stream does no longer received it will say no signal.
-
Silence irrelevant warning when using Realtime Audio Receiver
-
Fix crash when trying to use too large Oden Streamer output size
-
An issue with Linux crash dump saving was fixed
-
Fixed a bug where incompatible project files prevented the user from adding or modifying video inputs to existing video entities
-
The dome calibrator was optimized to be slower, but more accurate.
-
It is now possible to import/export dome calibration data.
-
The directshow capture now supports motion jpeg.
-
Support for the Intel "Quick Sync" hardware encoder was removed (it was only ever available in the broadcast product, and it was not used)
-
Manual pages for setting up streamer->player is now available in all industrial applications (not only in streamer, as it was before).
-
Low-latency mode is now the default for inputs using Nvdec (i.e. no longer need to select low-latency under advanced for RTP inputs).
-
The OpenVINO plugin example was updated to work with latest version of OpenVINO, and the error handling was improved.
-
Fix issue which could cause crash on load of certain glTF models in some complex scenes.
-
Fix an issue where clone streams with the "copy to texture" option would not have MIP maps.
-
Add a tooltip to help/hint that the License info dialog cannot be used to change license key.
-
2D Video entities with clone stream inputs can now follow video from a Remote Streamer.
-
Fix bug in addLines with very sharp corners.
-
Streamer now embeds the license state as an overlay in the sent video
-
In Oden Streamer, settings no longer resets when changing between h264 and h265
-
2D objects now start at position Z = -3
Changes from 2.2 to 2.3
-
Added change log, viewable in application (help->manual->change log)
-
ImDraw API functions are now better optimized
-
Borders now handle cropping correctly.
-
Borders now have anti-aliasing and can optionally have rounded corners.
-
NDI was updated to version 4 (inputs and output)
-
ComChannel API links now supports that streamer has multiple links. When using multiple links ComChannels is the only sane way to transfer data between player and streamer (i.e. UDP is no longer an ok option!).
-
API functions added: setCameraStreamState, getCameraStreamInfo. Allow for interacting with video inputs. See example plugin for documentation.
-
Revoking the license key now also removes the license key on disk. This prevents accidental re-activations after revoking
-
License key in oden.conf is no longer supported
-
Added an entry to the manual for plugin troubleshooting (help->manual)
-
Ctrl+L shortcut added that toggle First Person and Orbit cameras
-
Ctrl+W shortcut added that closes the current project
-
The sidebar gui input for project plugins path was moved from settings to plugns.
-
(Windows) Fix an issue where the binary directory of the sample projects was not created during installation
-
The in-application user manuals have been updated
-
Add setting "Full Project Files". If disabled created project files will have reduced size.
-
Update Spinnaker SDK support to version 1.24.0.60 (it is necessary to install specifically this version of Spinnaker to use Spinnaker inputs)
-
Only allow valid NVENC/NVDEC HEVC widths by default
-
A test video source input is now available, allowing to easily get live video test data.
-
Scenes and inputs now have a globally unique id (UUID), e.g. clone stream will now know what source it cloned from even if scene or input changed names.
-
Solve an issue where raw h265 files saved from Oden Streamer could get the wrong file ending (h264) and could not be opened easily.
-
Added support for multiple links (streamer to player).
Changes from 2.1 to 2.2
-
Added more Spinnaker settings and information
-
Fixed an issue with blocking when unable to resolve dns lookups (could freeze Oden on some unreliable networks)
-
A plugin example is now available (on request) demonstrating how to detect "aruco" markers and positioning them in 3D space (uses OpenCV and Ceres from the plugin, Windows only).
-
The current license key is now shown in the license info dialog.
-
Demo projects are now better included in the -Dev installer
-
More robust support for Quanergy M8 LIDAR
-
It is now possible to have an HMD plugged in while also having a fixed view on monitors. This allows for having a monitor setup and pick up an HMD when stereo is needed.
-
Plugin hot reloading can now be enabled in the production version by toggling a settings flag.
-
Attempts to create record path, if not existing.
-
Horizon adjustment now requires an additional checkbox before clicking and dragging in the scene changes the horizon.
-
Alt+Enter shortcut will now go to spanning fullscreen if more than one monitor is available.
-
Fix a bug where label of unnamed text entity would show up strange if the text was multi-line.
-
Fix an issue with the direct show video input
-
Support for converting recorded projects to live projects.
-
Updated Oculus rendering method to improve performance.
-
An api function (modelEntitySetPath) for loading models (glTF) was added.
-
The Openvino plugin example was modified to run the inference on the streamer, visualization on player, and now has a model for detecting pedestrian and vehicles
-
The log message "Could not open Oculus HMD" will now only show up if Oculus is specifically chosen as HMD input (not when "Any" is selected, as it was previously).
-
A plugin api is now available for loading a specified project.
-
An issue with the flv tags for rtmp was fixed
-
Information about the inputs is now shown in the Input heading.
-
An option is now available in Streamer to inhibit external scene changes (e.g. from plugins).
-
Fixed a Memory leak when using auto mode switch
-
Adds tooltips that show license state if it’s partially hidden
-
Add warning messages if non-optimal output settings are selected in Oden Streamer
-
Functions for getting and setting the fps camera type have been added to the plugin api.
-
A function for setting GUI as shown/hidden been added to the plugin api.
-
It is now possible to clone virtual cameras.
-
Fixed an issue where fps camera change functions would not work when issued from plugins in hidden scenes.
-
Updates the FLIR Spinnaker SDK to version 1.23 (it is necessary to install specifically this version of Spinnaker to use Spinnaker inputs)
-
Dome output no longer supports windowed mode (it never worked properly)
-
Dome output and separate projections can no longer be activated at the same time
-
Function "reproject_point_to_camera_coords" has been added to plugin_utils.h, allowing to go from some point to the corresponding reprojected point on the image plane of a camera.
-
A managed communications api is available to plugins. This wraps UDP messages and allows for easier communication between streamer and player. As usual, see the example plugin for details.
-
The OpenVINO-plugin (available on request) now has support for the Movidius Neural Compute Stick.
-
Statistics display is now more stable (previously it could to show too large values if frame timing was irregular).
-
Bezels can be compensated for in horizontal multi-monitor setups. (Can also be used to compensate for "negative bezels", which can be encountered in some special projector setups.)
-
Add support for RTMP output delay to Producer
-
Add RTMP h265 support, enabling 8K output.
-
Update gstreamer to version 1.16.
-
A plugin is available (on request) that interfaces with uBlox F9P GPS receivers and can provide RTK positioning using a pair of them.
-
A plugin showing how to integrate ONNX Runtime inference is available. With CUDA acceleration this is a very fast way to run neural networks.
-
New plugin api function "getFpsCameraState" available that gives the current FPS camera parameters.
-
Oden Streamer: You can now choose which stream to sync to with a gui.
-
A plugin example is available (on request) showing how to integrate neural network inference using OpenVINO. (Building it requires installing the OpenVINOframework.)
-
A single-header math util file is available that works well with the plugin api functions and makes using them easier.
-
Added api to insert metadata into the video stream from streamer.
-
A new plugin command, imDrawAddTriangles, has been added. It allows for drawing lists of triangles with per-vertex position and color. A usage example is available in the example plugin.
-
Adds configuration support for Motec IP cameras.
-
Adds MJPEG NVDEC support.
-
Adds gamma, resolution and auto exposure ROI API functions. Only supports Motec at the moment.
-
Clone stream has a simplified GUI, with a dropdown for all available streams in the project. Calibration data is copied automatically for stitched video streams.
-
Add im draw cuboid to api
-
The rectangle drawing functions are now available in aligned versions, with definable up and right vector directions.
-
There is now support for loading gltf models, with reflections and environment lighting.
-
Fix an issue with unplugging joysticks
-
Fix an issue where old macroblocks that were previously corrupted failed to refresh once new good data was received.
-
Raw recordings now include the default camera state
-
Sample plugins are now included with the windows installer
-
There is now an option to force the use of non-linear optimization when using markers to check the calibration in multi-camera rigs.
-
Adds realtime audio streaming to Oden as two components: 1) Realtime audio streaming as core functionality in Oden Streamer, and, 2) A Realtime Audio Receiver entity in Player (The system is cross platform and uses Opus as audio codec)
-
Remote Streamer Entity available for receiving video from a Streamer
-
A border is now available for the 2D Video, 2D Image and Virtual Screen entity types.
-
Windows only: Windows and graphics versions are now displayed in the error message box.
-
Linux plugin hot reloading available (in -Dev versions)
-
A Virtual Cubemap Camera entity was added. This allows to snapshot or view a scene as a 360 cubemap.
-
Spanning fullscreen projections has been reworked and now supports horizontal, vertical and custom layouts.
-
There is now support for Hebrew in the gui and in ImDraw.
-
Virtual cameras can now be downloaded using the plugin api.
-
Wom irrelevant NVAPI error messages was silenced
-
RTP and LLTP send and receive now has better support for HEVC (H.265)
-
The logging in the streamer feedback plugin now adds datetime and time stamps. A header with units is added when the logging is started.
-
Changed so that all communication goes from streamer -> player. And player uses the send port from streamer to send messages back. This allows streamer to be behind a NAT.
-
When using openVR and Hmd Lock Position is activated, ctrl + Q will reset the orientation so that the direction you look at will be new center. Note that the center orientation will only be changed in the horizontal plane, e.g. if you look slightly upwards when re centering the view, then straight forward wil be slightly below where you are looking.
-
Linux: fix some gstreamer and library paths
-
Fix: Low latency mode can never be false when using lltp
-
Linux: Fixed a bug in the built in file open dialog
-
The manual is now available as views in the application, and consists of separate manual pages for different topics. The manual has also been updated to be up to date, and includes more topics.
-
The AAC encoder for encoded outputs has been updated to a version that gives better audio quality at same bitrate.
-
Recordings gets project plugins path.
-
Better Streamer setup documentation is now available
-
It is now possible to stream live to multiple destinations using encoded output (e.g. stream live to YouTube and Facebook at the same time as saving the encoded data to file)
-
Added the following functions to the api: playbackIsPlaying, playbackStart, playbackPause, playbackGetTimes, playbackSetTime, playbackAdvanceTime, playbackSetLoop
-
Query nvenc max resolution and don’t allocate larger max than possible
-
Fixed an issue where output alignment header ocurring naturally in h264 bytestreams
-
Plugin raw recordings no longer breaks if the user pushes zero sized data
-
Fixed an issue with starting oden before windows brings up network interfaces
-
There is now a choice of a "touchpad" interaction mode (under View settings) which allows fps/equirect camera movement using two-finger scroll (x and y), and pinching to zoom.
-
The file open dialog used in full screen is improved, e.g. remembering where it was last opened and supports double click to open a file
-
There is now an "Overcapture" plugin that allows for controlling the FPS camera using joystick and keyboard input (available on request).
-
Linux: Fix file path behaviour in Linux. Before, only the filenames were returned, not the full path.
-
Added the ability to draw borders, imDrawAddRectangleBorder and imDrawAddRectangleBorderRounded
-
Windows: Fixed touch on press: the first touch point is registered as a mouse click. Previously it would only register as a click when the finger was lifted.
-
Windows: MSVC runtime dlls are now included in the installer. This should fix issues where an application would refuse to start after install on a new PC with e.g. the message "MSVCR100.dll is missing from your computer".
-
The plugin api now has functions for getting keyboard presses: isKeyDown, isKeyPressedSinceLastSwap and getKeysPressedSinceLastSwap. As usual, please refer to the example plugin for documentation.
-
Windows: The crash handler is improved, and will now show a stack trace. In -Dev builds it also shows tips on how to do debugging.
-
Windows: The Spinnaker SDK depends on specific .dll versions. There is now a warning on version mismatch (previously this would crash).
-
Windows: Fixed an issue where directsound output initialization could cause a crash on startup in systems with no valid sound output.
-
Multiple filters are now available for video inputs, not just sharpening. Breaking change: Existing projects that use sharpening need to re-apply that setting.
-
Color controls are updated and now offers contrast, brightness, gain, hue and saturation. Breaking change: Existing projects that use color adjustments need to re-apply these settings.