Uploaded March 2022 | Updated September 2026, 1 day ago
Presenters: Jacob Schloss & Matt Moldovan, Suburban Marine
Abstract: The Suburban Marine Opaleye features multiple distributed nodes with globally time synchronized video capture and video stream. Designed from the start for flexible remote control with a Remote Procedure Call (RPC) Application Programming Interface (API) to ease integration into robotic systems.
Existing underwater camera systems tend to be very fixed function with limited ability to run custom code in the camera system. Suburban Marine is introducing a free, open source camera acquisition and processing framework that is portable to many different systems. The Opaleye allows running end user software in parallel with our camera acquisition code, and an efficient local-computer API permits fast transfer of camera data.
Allowing end-user code to run directly on the Opaleye package eases development of edge computing applications and increases portability as the edge computing applications can target a high level API rather than low level direct sensor access. The underlying libraries the Opaleye is built on are very portable and commonly supported on many different camera acquisition platforms.
Leveraging industry standard tools such as gstreamer, nginx, and Linux-for-Tegra, a flexible software development kit can be created with common operations abstracted into video processing pipeline units that can be combined like blocks as needed for a given application. Using common building blocks allows abstraction of hardware specific features (such as encoding acceleration) and eases portability between different systems such as Qualcomm Snapdragon and Nvidia Jetson.
Multiple Opaleye systems can be time synchronized with the IEEE 1588v2 PTP protocol. This reduces the level of effort as no digital camera sync lines need to be run in addition to the network. Globally correct (UTC) timestamped video is easy to create as the system can be synchronized with an external GPS driven PTP grandmaster at launch time, then run off a local PTP clock during the mission.
Presenters: Jacob Schloss & Matt Moldovan, Suburban Marine
Abstract: The Suburban Marine Opaleye features multiple distributed nodes with globally time synchronized video capture and video stream. Designed from the start for flexible remote control with a Remote Procedure Call (RPC) Application Programming Interface (API) to ease integration into robotic systems.
Existing underwater camera systems tend to be very fixed function with limited ability to run custom code in the camera system. Suburban Marine is introducing a free, open source camera acquisition and processing framework that is portable to many different systems. The Opaleye allows running end user software in parallel with our camera acquisition code, and an efficient local-computer API permits fast transfer of camera data.
Allowing end-user code to run directly on the Opaleye package eases development of edge computing applications and increases portability as the edge computing applications can target a high level API rather than low level direct sensor access. The underlying libraries the Opaleye is built on are very portable and commonly supported on many different camera acquisition platforms.
Leveraging industry standard tools such as gstreamer, nginx, and Linux-for-Tegra, a flexible software development kit can be created with common operations abstracted into video processing pipeline units that can be combined like blocks as needed for a given application. Using common building blocks allows abstraction of hardware specific features (such as encoding acceleration) and eases portability between different systems such as Qualcomm Snapdragon and Nvidia Jetson.
Multiple Opaleye systems can be time synchronized with the IEEE 1588v2 PTP protocol. This reduces the level of effort as no digital camera sync lines need to be run in addition to the network. Globally correct (UTC) timestamped video is easy to create as the system can be synchronized with an external GPS driven PTP grandmaster at launch time, then run off a local PTP clock during the mission.










