Table of Contents
04 G Industrial Camera
Overview
The g-industrial-camera library from John Medland (Serenial) is a lightweight wrapper for industrial cameras (e.g. Basler GigE/USB) designed for simple integration into applications such as LabVIEW via DLL calls.
It provides a straightforward API for:
-
Device enumeration
-
Camera configuration (pixel format, trigger, etc.)
-
Image acquisition (snapshot / streaming)
-
Buffer handling
Important:
This driver allows camera access without requiring an NI Vision / IMAQdx license, which can significantly reduce system cost.
Project link: https://gitlab.com/serenial/g-industrial-camera
—
Known Issue: Timeout in Built Executables
Description
Image acquisition (snapshot/streaming) may timeout when running from a compiled EXE, while:
-
The same code works in development (e.g. LabVIEW IDE)
-
Vendor tools (e.g. Basler pylon Viewer) work correctly
-
Camera enumeration and property queries succeed
Cause
Windows Firewall blocks the incoming GigE Vision UDP image stream for the application EXE.
Important details:
-
Development tools (e.g.
LabVIEW.exe) are often already whitelisted -
A compiled EXE is treated as a new application → blocked by default
-
Control communication works, but streaming (UDP) is blocked
-
Results in timeout errors during image acquisition
Solution
Allow the EXE in Windows Firewall:
-
Windows Security → Firewall & network protection
-
Allow an app through firewall
-
Add the application EXE
-
Enable:
-
Private networks
-
Public networks (important for camera NICs)
After this, acquisition works as expected.
-