eSDK Pro Programmer's Guide Overview

Emergent Vision Technologies designs high-speed industrial cameras and software for demanding machine vision systems.

eSDK Pro is a high-level C++ SDK for building applications that capture and process images from many Emergent cameras across one or more servers. It abstracts away thousands of lines of low-level control code, letting you synchronize and manage large systems with only a few clear API calls.

Your application calls the eSDK Pro API, which communicates with servers hosting Emergent cameras. The API manages pipelines—groups of cameras and processing tasks—that capture, process, and stream or store results. Unlike the classic eSDK, which manages cameras individually, eSDK Pro manages the entire camera network as a single system using a client–server architecture. You can configure local or remote servers, start and stop them together, and coordinate data flows without custom orchestration code.

Core Features of eSDK Pro

Use eSDK Pro when you need modern tools that reduce boilerplate and provide system-wide control.

  • High-level API: Replace boilerplate setup with a few function calls.
  • System-level design: Manage many cameras and servers as one.
  • Client–server model: Use the same API for local and remote servers.
  • Built-in concurrency: Multi-threading and synchronization are handled internally.
  • Extensible image processing: Run built-in tasks such as raw recording or NVENC compression, or extend workflows with custom plugins.
  • Cross-platform support: Modern C++ on Windows 10/11 Pro, Windows Server 2016/2019, and Ubuntu 22.04 LTS with major compilers.

eSDK Pro Use Cases

Choose eSDK Pro when you want to simplify complex setups and move quickly from prototype to deployment.

  • Distributed multi-camera systems: Rapidly set up and manage cameras across many servers with minimal code.
  • Prototype-to-production workflows: Scale directly from proof-of-concept to deployment without rewriting core logic.
  • Synchronized recording: Capture time-aligned video streams across servers without manual orchestration.
  • Standard workflows out of the box: Run raw capture, NVENC compression, and other common tasks immediately.
  • Custom processing pipelines: Extend functionality with plugins when off-the-shelf tasks are not enough.

Core Concepts of eSDK Pro

eSDK Pro is built on a few key ideas that define how data flows from cameras through processing and into outputs.

  • Pipeline: A dataflow graph—cameras capture frames, tasks process them, outputs are streamed or saved.
  • Processing task: A unit of work in the pipeline, such as writing raw images or compressing video.
  • Plugin: A custom task you develop by extending the SDK with new processing functions.

eSDK Pro vs. Classic eSDK: Key Differences

Emergent offers two SDKs, each designed for different levels of control and system complexity.

  • eSDK Pro: High-level, system-wide control for multi-camera and multi-server applications. Abstracts networking, threading, and synchronization.
  • Classic eSDK: Low-level, camera-by-camera control with fine-grained feature access but more development overhead.

Applications should use one SDK or the other—never both in the same project.

eSDK Pro vs. eCapture Pro: Workflow Comparison

eSDK Pro and eCapture Pro share the same architecture but serve different roles—programmable SDK versus GUI application.

  • eCapture Pro: A GUI application for configuring and recording from Emergent cameras.
  • eSDK Pro: A programmable SDK for building custom applications.

Both share the same core server architecture. You cannot run them at the same time on the same server. A common workflow is to configure cameras in eCapture Pro, close it, and then run your eSDK Pro application.

See Also

You can continue through this guide in several directions:

Updated on
August 28, 2025
Questions?


Get in touch with us today and our team of imaging professionals will be pleased to assist you.

Contact Us