人数カウンタの SDK 使用方法

・ 目次
人数カウント機能の概要
人数カウンタの API/構造体
人数カウントを有効にする手続き
構造体:NET_DVR_PDC_RULE_COND (人数カウントルールの設定条件の構造体)
構造体:NET_DVR_PDC_RULE_CFG_V42 (人数カウントルールの設定条件の構造体)
構造体:NET_DVR_PDC_ALRAM_INFO (人数カウント統計のアラーム情報)
構造体:NET_DVR_PDC_RESULT (人数カウントデータ検索の結果の構造体)
NET_DVR_PDC_ENTER_DIRECTION (人数カウント統計の方向)
NET_DVR_PDC_QUERY_COND (人数カウントデータ検索の条件)


人数カウント機能の概要

人数カウント機能は、指定された時間帯内でラインを越える人物 または、物体の統計情報を提供します。
統計タイプには、リアルタイム統計と周期的統計の 2種類があります。

■ リアルタイム統計
・ リアルタイム統計(デバイス再起動によるクリア、手動クリア、または、前日のゼロ時点での自動クリアによるクリア後に計算を開始)は、
     カウントが変更されるとアップロードされます。
・ カウントが頻繁に変更される場合、この統計情報は 1秒毎に更新されます。

■ 周知的統計
・ 設定された統計期間内で増加した数を示します。
・ 更新頻度は設定された統計期間です。(デフォルトの期間は 15分で、最短期間は 1分、最長期間は 60分です。)


人数カウンタの API/構造体

名前 種別 説明
NET_DVR_PDC_RULE_CFG_V42 構造体 人数カウントルールの設定パラメータ
NET_DVR_PDC_RULE_COND 構造体 人数カウントルールの設定条件
NET_DVR_PDC_ALRAM_INFO 構造体 人数カウント統計のアラーム情報
NET_DVR_PDC_RESULT 構造体 人数カウントデータ検索の結果
NET_DVR_PDC_ENTER_DIRECTION 構造体 人数カウント統計の方向
NET_DVR_PDC_QUERY_COND 構造体 人数カウントデータ検索の条件
NET_DVR_SetupAlarmChan_V50 API アラーム/イベント情報を受信するための永続的な接続をセットアップします
(アラーム/イベントのサブスクリプションをサポート)
NET_DVR_CloseAlarmChan_V30 API アラームアップロードチャンネルを閉じます
NET_DVR_GetDVRConfig API デバイスの構成情報を取得します
NET_DVR_SetDVRConfig API デバイスパラメータを設定します
NET_DVR_StartListen_V30 API アラーム/イベント情報を受信するためのコールバック関数を登録し、リッスンを開始します
(マルチスレッドをサポート)
NET_DVR_StopListen_V30 API リスニングを停止します(複数のスレッドをサポートします)


人数カウントを有効にする手続き

人数カウント中、入場、退場、または、通過した人数(大人 及び、子供を含む)をカウントすることができます。

1.「NET_DVR_GetDeviceAbility」を呼び出し、dwAbilityType を「DEVICE_ABILITY_INFO」(マクロ定義値:0x011)に設定します。
     VCA チャンネルの能力を取得するためのメッセージ「XML_Desc_VcaChanAbility」を plnBuf に設定して、このデバイスが人数カウントを
     サポートしているかどうかを確認します。
     VCA チャンネルの能力は、pOutBuf によって、メッセージ「XML_VcaChanAbility」に返されます。
     サポートされている場合、能力メッセージにノード<PDC>が返されるので、以下の手順を続行できます。
     それ以外の場合、デバイスは人数カウントをサポートしていないため、このタスクを終了してください。

2. オプション「NET_DVR_GET_PDC_RULECFG_V42」(コマンド番号:3405)を使用して、「NET_DVR_GetDeviceConfig」を呼び出し、
    lplnBuffer を「NET_DVR_PDC_RULE_COND」として指定します。
    検出領域(ライン)、警報スケジュール、連動アクションなどを含む人数カウントパラメータを取得できます。
    人数カウントパラメータは、lpOutBuffer によって「NET_DVR_PDC_RULE_CFG_V42」構造体に返されます。

3.「NET_DVR_SetDeviceConfig」を呼び出し、「NET_DVR_SET_PDC_RULECFG_V42」(コマンド番号:3406)を使用します。
    lplnBuffer を「NET_DVR_PDC_RULE_COND」として指定し、人数カウントを有効に設定します。
    パラメータを設定するために lplnParamBuffer を「NET_DVR_PDC_RULE_CFG_V42」に設定します。

※ 注意
・ プラットフォームでアラームを受信するには、連動アクションを「center」(センターにアップロード)に設定する必要があります。
・ 人数カウントパラメータの設定は、デバイスにウェブページ経由でログインしても行うことができます。

4. オプション:アラーム/イベントコールバック関数「MSGCallBack」の Command を「COMM_ALARM_PDC」(コマンド番号:0x1103)に設定します。
   人数カウントが有効な場合に警戒モード(警戒モードでのアラーム/イベントの受信を参照)または、リスニングモード(リスニングモードでの
   アラーム/イベントでの受信を参照)で、構造体「NET_DVR_PDC_ALRAM_INFO」によって、人数カウントデータを自動アップロードするためのものです。

5. オプション:人数カウントデータを検索し、レポートを取得します。


構造体:NET_DVR_PDC_RULE_COND (人数カウントルールの設定条件の構造体)

構造体定義
struct{
DWORD dwSize;
DWORD dwChannel;
BYTE byRes[64];
}NET_DVR_PDC_RULE_COND, *LPNET_DVR_PDC_RULE_COND;

パラメーター 説明
dwSize 構造体のサイズ
dwChannel チャネル番号
byRes 予約済みフィールド、0 に設定されています


構造体:NET_DVR_PDC_RULE_CFG_V42 (人数カウントルールの設定条件の構造体)


構造体:NET_DVR_PDC_ALRAM_INFO (人数カウント統計のアラーム情報)


構造体:NET_DVR_PDC_RESULT (人数カウントデータ検索の結果の構造体)


NET_DVR_PDC_ENTER_DIRECTION (人数カウント統計の方向)

構造体定義
struct{
NET_VCA_POINT struStartPoint;
NET_VCA_POINT struEndPoint;
}NET_DVR_PDC_ENTER_DIRECTION, *LPNET_DVR_PDC_ENTER_DIRECTION;

パラメーター 説明
struStartPoint 開始点のパラメーター
struEndPoint 終了点のパラメーター


NET_DVR_PDC_QUERY_COND (人数カウントデータ検索の条件)

関連記事