List of sample applications

This is a list of sample applications included in the SDK.

  • Free to use.

  • The sample app does not include external libraries. If you use an external library you need to build and add it. For details, see here for C/C++ and here for Python.

  • When using an AI model, an AI model conversion tool is required. Also you need to put the model. See here for details.

We do not guarantee operation in your operating environment. Please check the operation of the sample application to see if it can be used as is for actual operation. Additionally, we are unable to respond to inquiries from individual customers regarding modification of sample apps or the design of new apps. Please note.

Overview

C

Python

ReadMe

Application name

AdamAPI(except some API*1)

Application name

AdamAPI(except some API*2)

Base of the sample app

skeleton_sample_app

ADAM_ServerResponse_Send

 -

 -

Click here for operation explanation

Send dummy metadata to Active Guard server at regular intervals

active_guard_sample_app

ADAM_CyclicTimer_Cancel
ADAM_CyclicTimer_Start
ADAM_GetAppDataDirPath
ADAM_GetAppTmpDirPath
ADAM_MetaDataStream_SetRaw
ADAM_ServerResponse_Send

active_guard_sample_app

adam_meta_data_stream_set_raw
adam_get_app_data_dir_path

Click here for operation explanation

Adding additional information to video or audio stream RTP extention header

additional_info_sample_app

ADAM_AdditionalInfo_Set
ADAM_ServerResponse_Send

additional_info_sample_app

adam_additional_info_set
adam_set_appPref_callback

Click here for operation explanation

Trigger an alarm on camera firmware side from app at regular intervals

alarm_sample_app

ADAM_Alarm_Notify
ADAM_CyclicTimer_Cancel
ADAM_CyclicTimer_Start
ADAM_GetAppDataDirPath
ADAM_ServerResponse_Send
ADAM_StopMe

alarm_sample_app

adam_alarm_notify

Click here for operation explanation

Display and set AppPref from the GUI screen

apppref_gui_sample_app

ADAM_GetInstallId
ADAM_ServerResponse_Send

apppref_gui_sample_app

 No special mention

Click here for operation explanation

Get audio data at regular intervals and output logs

audio_app

ADAM_DevRawAudio_Create
ADAM_ServerResponse_Send

audio_app

adam_dev_rawaudio_create

Click here for operation explanation

Execute CGI for camera from GUI screen

cgiSendCommandApp

ADAM_GetInstallId
ADAM_ServerResponse_Send

 -

 -

Click here for operation explanation

Multi-container applications for Container Adamapp

docker_multi_images

ADAM_ServerResponse_Send

 -

 -

Click here for operation explanation

Read the characters from the image taken by the camera and display the read characters for Container Adamapp

docker_ocr_app

ADAM_GetAppTmpDirPath
ADAM_DevRawVideo_Create
ADAM_ServerResponse_SendAsIs

 -

 -

Click here for operation explanation

Receive file descriptor events and output logs

fd_sample_app

ADAM_DEBUG_SET_PRINT_LEVELS
ADAM_DevFd_Create
ADAM_ServerResponse_Send

 -

 -

Click here for operation explanation

Create a life and death subthread from the main thread

freestyle_app_with_keepalive

ADAM_KeepAlive_Add ADAM_KeepAlive_NotifyAlive
ADAM_ServerResponse_Send ADAM_KeepAlive_Remove

 -

 -

Click here for operation explanation

Perform socket communication (client side)

iac_client_sample_app

ADAM_ServerResponse_SendAsIs

 -

 -

Click here for operation explanation

Perform socket communication (server side)

iac_server_sample_app

ADAM_ServerResponse_SendAsIs

 -

 -

Click here for operation explanation

Receive alarm input events of camera unit and output alarm types

inputalarm_app

ADAM_DevInputAlarm_Create

ADAM_ServerResponse_SendAsIs

 -

 -

Click here for operation explanation

Saving camera images in JPEG format

*For CV5X cameras, please refer to jpeg_app_for_CV5X

jpeg_app

jpeg_app_for_CV5X

ADAM_CamPref_Get
ADAM_GET_WIDTH
ADAM_GET_HEIGHT
ADAM_DevYcVideo_Create
ADAM_ServerResponse_SendAsIs
ADAM_SET_RESOLUTION
ADAM_SET_FRAME_RATE

jpeg_app

jpeg_app_for_CV5X

adam_cv_yc2rgb
adam_cv_rgb_convert
adam_dev_rawvideo_create

Click here for operation explanation

Send metadata as Onvif metadata stream at regular intervals

meta_stream_app

ADAM_CyclicTimer_Cancel
ADAM_GetAppTmpDirPath
ADAM_MetaDataStream_SetRaw
ADAM_ServerResponse_Send

metaDataStream_sample_app

adam_meta_data_stream_set_raw
adam_get_app_data_dir_path

Click here for operation explanation

Create MP4 of video data

mp4rec_app

ADAM_GetInstallId
ADAM_MP4Rec_FileDelete
ADAM_MP4Rec_Set_ErrCB
ADAM_MP4Rec_Start
ADAM_MP4Rec_Stop
ADAM_ServerResponse_Send

mp4rec_app

adam_mp4rec_file_delete
adam_mp4rec_set_errCB
adam_mp4rec_start
adam_mp4rec_stop

Click here for operation explanation

Communicate by MQTT

mqtt_sample

ADAM_CamInfo_GetSerialNo
ADAM_ServerResponse_Send

mqtt_sample

 No special mention

There is no operation explanation.
*The C version uses the following three external libraries:
・libpaho-mqtt3cs
・libssl
・libcrypto
The Python version uses the following external library:
・Paho MQTT Library

Detect and display image edges using OpenCV

opencv_edge_detection_app

ADAM_DevYcVideo_Create
ADAM_GetAppTmpDirPath
ADAM_SET_FRAME_RATE
ADAM_SET_RESOLUTION
ADAM_ServerResponse_SendAsIs

 -

 -

Click here for operation explanation

Creating SQLite database on SD card and edit the database from GUI

sqlite_app

ADAM_ServerResponse_Send
ADAM_GetInstallId

sqlite_app

 No special mention

Click here for operation explanation

sample app with display and setting functions often required for WEB UI apps

web_template_app

ADAM_AI_BlobByName
ADAM_AI_CloseNet
ADAM_AI_DeInitSSD
ADAM_AI_InitSSD
ADAM_AI_OpenNet
ADAM_AI_RunNet
ADAM_AI_RunSSD
ADAM_CamInfo_Get
ADAM_CamPref_Get
ADAM_CV_CreateBlob
ADAM_CV_DeleteBlob
ADAM_CV_GetCpuData
ADAM_CV_ImageRotate
ADAM_CV_SetCpuData
ADAM_CV_Yc2Rgb
ADAM_CV_YcResize
ADAM_CyclicTimer_Cancel
ADAM_CyclicTimer_Start
ADAM_DevInputAlarm_Create
ADAM_DevYcVideo_Create
ADAM_GetAppDataDirPath
ADAM_GetAppTmpDirPath
ADAM_GetInstallId
ADAM_PtzDigitalFlipState_Get
ADAM_ServerResponse_Send
ADAM_ServerResponse_SendAsIs

web_template_app

adam_ai_blob_by_name
adam_ai_close_net
adam_ai_deinit_ssd
adam_ai_init_ssd
adam_ai_init_ssd
adam_ai_open_net
adam_ai_run_net
adam_ai_run_ssd
adam_alarm_notify
adam_cam_info_get
adam_cam_pref_get
adam_cv_image_rotate
adam_cv_rgb_convert
adam_cv_rgb_convert
adam_cv_yc_resize
adam_cv_yc2rgb
adam_cv_yc2rgb
adam_cv_yc2rgb
adam_dev_rawvideo_create
adam_dev_rawvideo_create
adam_get_app_data_dir_path
adam_get_app_tmp_dir_path
adam_meta_data_stream_set_raw
adam_ptz_digital_flip_state_get

Click here for operation explanation

Get YC image, hardware encoding to H265 or JPEG and output

ycencode_sample_app

ADAM_CyclicTimer_Cancel
ADAM_DevYcEncode_GetBuf
ADAM_DevYcEncode_SetBuf
ADAM_SET_RESOLUTION
ADAM_ServerResponse_Send

ycencode_sample_app

adam_dev_yc_encode_get_buf
adam_dev_yc_encode_set_buf
adam_dev_ycencode_create_h26x
adam_dev_ycencode_create_jpeg
adam_dev_ycvideo_create

Since there are no special notes, there is no operation explanation.

Please see here for Note.

Infer the model on the camera and output the result

yuv_dnn_app

ADAM_AI_BlobByName
ADAM_AI_CloseNet
ADAM_AI_OpenNet
ADAM_AI_RunNet
ADAM_CV_CreateBlob
ADAM_CV_DeleteBlob
ADAM_CV_GetCpuData
ADAM_CV_RgbResize
ADAM_CV_SetCpuData
ADAM_CV_Yc2Rgb
ADAM_SET_FRAME_RATE
ADAM_SET_RESOLUTION
ADAM_ServerResponse_Send

yuv_dnn_app

adam_ai_blob_by_name
adam_ai_close_net
adam_ai_open_net
adam_ai_run_net
adam_cv_rgb_resize
adam_cv_yc2rgb
adam_dev_ycvideo_create
adam_get_app_data_dir_path

Click here for operation explanation

Draw the skeleton detection of the model on the camera

 -

 -

yuv_pose_app

adam_cv_yc_resize
adam_cv_yc2rgb
adam_ai_run_net
adam_ai_open_net
adam_ai_blob_by_name
adam_dev_ycvideo_create
adam_ai_close_net

Click here for operation explanation

Draw object names and borders on models on camera

yuv_ssd_app

ADAM_AI_BlobByName
ADAM_AI_CloseNet
ADAM_AI_DeInitSSD
ADAM_AI_InitSSD
ADAM_AI_OpenNet
ADAM_AI_RunNet
ADAM_AI_RunSSD
ADAM_CV_CreateBlob
ADAM_CV_DeleteBlob
ADAM_CV_SetCpuData
ADAM_CV_Yc2Rgb
ADAM_CV_YcResize
ADAM_SET_FRAME_RATE
ADAM_SET_RESOLUTION
ADAM_ServerResponse_Send

yuv_ssd_app

adam_ai_blob_by_name
adam_ai_close_net
adam_ai_deinit_ssd
adam_ai_init_ssd
adam_ai_open_net
adam_ai_run_net
adam_ai_run_ssd
adam_cv_yc2rgb
adam_cv_yc_resize
adam_dev_ycvideo_create
adam_get_app_data_dir_path

Click here for operation explanation

Draw object names and borders on models on camera

yuv_yolo_app

ADAM_AI_BlobByName
ADAM_AI_CloseNet
ADAM_AI_OpenNet
ADAM_AI_RunNet
ADAM_CV_CreateBlob
ADAM_CV_DeleteBlob
ADAM_CV_GetCpuData
ADAM_CV_SetCpuData
ADAM_CV_Yc2Rgb
ADAM_CV_YcResize
ADAM_SET_FRAME_RATE
ADAM_SET_RESOLUTION
ADAM_ServerResponse_Send

yuv_yolo_app

adam_ai_blob_by_name
adam_ai_close_net
adam_ai_open_net
adam_ai_run_net
adam_cv_yc2rgb
adam_cv_yc_resize
adam_dev_ycvideo_create
adam_get_app_data_dir_path

Click here for operation explanation

Draw object names and borders on models on camera

yuv_yolov5_app

ADAM_AI_BlobByName
ADAM_AI_CloseNet
ADAM_AI_OpenNet
ADAM_AI_RunNet
ADAM_CV_CreateBlob
ADAM_CV_DeleteBlob
ADAM_CV_GetCpuData
ADAM_CV_SetCpuData
ADAM_CV_Yc2Rgb
ADAM_CV_YcResize
ADAM_SET_FRAME_RATE
ADAM_SET_RESOLUTION
ADAM_ServerResponse_Send

yuv_yolov5_app

adam_ai_blob_by_name
adam_ai_close_net
adam_ai_open_net
adam_ai_run_net
adam_cv_yc2rgb
adam_cv_yc_resize
adam_dev_ycvideo_create
adam_get_app_data_dir_path

Click here for operation explanation

Draw object names and borders on models on camera

yuv_yolov8_app

ADAM_AI_BlobByName
ADAM_AI_CloseNet
ADAM_AI_OpenNet
ADAM_AI_RunNet
ADAM_CV_CreateBlob
ADAM_CV_DeleteBlob
ADAM_CV_GetCpuData
ADAM_CV_SetCpuData
ADAM_CV_Yc2Rgb
ADAM_CV_YcResize
ADAM_SET_FRAME_RATE
ADAM_SET_RESOLUTION
ADAM_ServerResponse_Send

yuv_yolov8_app

adam_ai_blob_by_name
adam_ai_close_net
adam_ai_open_net
adam_ai_run_net
adam_cv_yc2rgb
adam_cv_yc_resize
adam_dev_ycvideo_create
adam_get_app_data_dir_path

Click here for operation explanation

*1The description of the C version API below is omitted.

ADAM_Open
ADAM_Close
ADAM_Eventloop_Add
ADAM_Eventloop_Exit
ADAM_Eventloop_Dispatch
ADAM_Eventloop_Remove
ADAM_DEBUG_PRINT
ADAM_GetSdCardPath
ADAM_ASSERT
ADAM_RTN_ASSERT
ADAM_AppPref_Lock
ADAM_AppPref_Unlock
ADAM_AppPref_GetEnumeration
ADAM_AppPref_GetInteger
ADAM_AppPref_GetString

 

*2The description of the Python version API below is omitted.

adamEventloop
adam_set_stop_callback
adam_set_http_callback
adam_cv_create_blob
adam_cv_delete_blob
adam_cv_set_cpu_data
adam_cv_get_cpu_data
adam_lock_appPref
adam_unlock_appPref
adam_get_appPref
adam_debug_print
adam_set_appPref
adam_app_pref_reset

 

Attention

The Python version sample AdamApp app may not work with SDK Ver2.00. If the Python version of the sample AdamApp app does not work, please try the following.

\iPRO_CAMERA_SDK_Vx_xx\src\adamapp-py\(Any sample app)\.c_cxx_src\main.cpp

Please modify all three locations in the above file as shown below.

[Before]
#if TARGET_FOR_ADAM == ambaCV5XCAZ
[After]
#if defined(ADAM_TARGET_PF_ipro_ambaCV5XCAZ_linux)

The above modification is not necessary for SDK v2.01 or later. (If you have migrated source code from an SDK version earlier than v2.01, you will need to make modifications.)