Contents
Generic Plugin
¶
Generic Plugin is a gstreamer generic source plugin that communicates and streams from a GenICam based camera which provides a GenTL producer. In order to use the generic plugin with VI one must install the respective GenICam camera SDK and make sure the compatible GenTL producer for the camera is installed.
Refer `src-gst-gencamsrc/README.md </3.0.1/IEdgeInsights/VideoIngestion/src-gst-gencamsrc/README.html>`_ for more information on Generic Plugin¶
For working with Genicam USB3 Vision camera please install the respective camera SDK by referring the below section
Adding new GigE camera support to VideoIngestion
¶
In order to use the generic plugin with newer Genicam camera SDK follow the below steps:
Install the respective GenICam camera SDK by adding the camera SDK installation steps in VI-Dockerfile(
[WORK_DIR]/IEdgeInsights/VideoIngestion/Dockerfile
). The camera SDK will be installed during docker build and one can install multiple camera SDKs in VI-Dockerfile([WORK_DIR]/IEdgeInsights/VideoIngestion/Dockerfile
). Refer Dokerfile reference documentation (https://docs.docker.com/engine/reference/builder/) for Dockerfile Instructions. Typically one would need to useRUN <command>
instrcution to execute shell commands for installing newer camera sdk. In case the camera SDK cannot be downloaded in a non-interactive manner then one would need to place the camera SDK under[WORKDIR]/IEdgeInsights/VideoIngestion/
directory, use theCOPY
instruction in VI-Dockerfile([WORK_DIR]/IEdgeInsights/VideoIngestion/Dockerfile
) to use the camera SDK in the build context and then use theRUN
instruction for installing the camera SDK during docker build.After making sure the compatible GenTL producer is successfully installed one must add a case statement in gentl_producer_env.sh(
[WORK_DIR]/IEdgeInsights/VideoIngestion/gentl_producer_env.sh
) scipt to export the GenTL producer path toGENICAM_GENTL64_PATH
env variable. In order to verify the GenTL producer path one can search for the.cti
file under the installation path. Typically GenTL provider is characterized by a file with.cti
extension. Path to cti library containing folder must be exported to env variable namedGENICAM_GENTL64_PATH
(GENICAM_GENTL32_PATH
for 32 bit providers).Set
GENICAM
env variable in docker-compose.yml([WORK_DIR]/IEdgeInsights/VideoIngestion/docker-compose.yml
) to execute the corresponding case statement in gentl_producer_env.sh([WORK_DIR]/IEdgeInsights/VideoIngestion/gentl_producer_env.sh
) and export the GenTL producer path accordingly. GenTL producer path will be exported during docker runtime. Hence one can choose to add install multiple Genicam camera SDK during docker build and then switch between GenTL providers during docker runtime by modifying theGENICAM
env variable in docker-compose.yml([WORK_DIR]/IEdgeInsights/VideoIngestion/docker-compose.yml
).
Refer the below snippet example to select ``Basler`` camera and export its GenTL producer path in docker-compose.yml(``[WORK_DIR]/IEdgeInsights/VideoIngestion/docker-compose.yml``) assuming the corresponding Basler Camera SDK and GenTL producer is installed.
ia_video_ingestion:
...
environment:
...
# Setting GENICAM value to the respective camera which needs to be used
GENICAM: "Basler"
Note: Please make sure to run builder.py([WORK_DIR]/IEdgeInsights/build/builder.py
) script after making changes in docker-compose.yml([WORK_DIR]/IEdgeInsights/VideoIngestion/docker-compose.yml
)