5.4.1. 概要¶
ONVIF対応IPカメラ及びUSB接続でVideo4Linux2ドライバを経由してアクセス可能なカメラから映像を取得し、 Node-REDフロー上で様々に活用することができます。
注釈
カメラを複数台接続する場合、エッジの性能や設定によってはCPU能力が不足する場合があります。 その場合には接続するカメラを減らすか、設定を見直してください。 性能の目安としてはエッジゲートウェイエントリモデルで1280x720の画像を1FPSで取得する場合、約60%程度(1コア)のCPU使用率となります。 後述するデコード/エンコードを実行しない設定にするとCPU負荷を大きく下げることができます。 カメラを複数台接続する場合はこちらの設定を推奨します。
5.4.2. 機能一覧¶
主な機能を以下に列挙します。
カメラデバイスの登録
カメラデバイスにIDを割り当て、ICE Backendに登録する機能です。
ONVIF対応IPカメラの自動映像取得
ONVIF対応カメラ連携用ノードと連携をすることで、 自動発見したカメラから映像取得することが可能です。
指定のIPカメラ・USBカメラの映像取得
接続先が既知であるIPカメラ及びUSBカメラを指定して、指定されたカメラから映像を取得することも可能です。
カメラ映像の録画
自動発見されたカメラや指定されたカメラの映像を録画する機能です。
5.4.3. 提供ノード一覧¶
本機能を使用するためにNode-REDエディタから利用可能なノードを提供しています。 詳細はビデオデバイス映像取得用ノードを参照ください。
ice video
カメラの映像をNode-REDフローに出力するためのノード。
5.4.4. 機能概要¶
ビデオデバイス映像取得用ノードを使用して実行できる機能について以下で説明します。
5.4.4.1. デバイスの登録¶
カメラに対してObject IDを割り当て、ICE Backendへデバイスの登録を行います。 Object IDはICE Backendでカメラからのイベントデータを識別するために利用できます。
ただし、ONVIF対応カメラ連携用ノードで登録したデバイスについては、登録をせず、 ONVIF対応カメラ連携用ノードで振り出したObject IDを使用します。 (ice videoノードにpayload.object_id
が入力された場合に限ります)
なお、カメラ接続台数分のデバイスアダプタが自動的にICE Backendに登録されます。 ONVIF対応カメラ連携用ノードで自動発見されたカメラに対しては2つのデバイスアダプタが登録されますが、 この場合、ONVIF対応カメラ連携用ノードにより登録されたデバイスアダプタを、 ICE Backend APIを利用する際のパラメータに使用してください。
注釈
ONVIF対応カメラ連携用ノードにより登録されたデバイスアダプタかどうかは、 unique
フィールドがnodered:
で始まるかどうか、 payload.cameras
フィールドを持つかどうかで判別が可能です。
5.4.4.2. ONVIF対応IPカメラからの映像取得¶
ice onvif discoveryノードとice videoノードを接続することで、 自動発見されたIPカメラからの映像取得を開始できます。 1つのice videoノードで複数のカメラと接続することが可能です。
映像を取得する際、動画コーデックは自動的に判別され、適切にデコードされます。 接続するプロトコルはデフォルトではRTSP
のみ対応しています。 自動発見されたカメラのストリーム用URLがHTTP
であった場合、接続できません。
また、映像を取得する際の動画コーデックはデフォルトではrawdata
, Motion JPEG
, H.264
に対応しており、 動画取得時に自動判別して適切にデコードされます。
注釈
ONVIF対応カメラ連携用ノードを利用する場合には、事前にカメラに対してユーザ名、パスワードの設定をお願いします。
5.4.4.3. 指定のIPカメラ・USBカメラからの映像取得¶
ice videoに何らかの形でデバイスのアドレスを入力すると、 指定されたデバイスからの映像を取得します。 指定できるデバイスのアドレスはrtsp://...
で開始するIPカメラのストリーム用URLと、 /dev/video0
等で指定されるvideo4linux2ドライバ経由でアクセス可能なカメラになります。
映像を取得する際、動画コーデックは自動的に判別され、適切にデコードされます。 映像を取得する際の動画コーデックはデフォルトではrawdata
, Motion JPEG
, H.264
に対応しており、 動画取得時に自動判別して適切にデコードされます。
5.4.4.4. 出力される画像データ¶
画像はImage Type
で指定された形式及びWidth
とHeight
に指定されたサイズにエンコードして出力されます。 また、カメラから取得するFPSより指定されたFPS
の値が小さい場合、指定のFPSになるようにフレームを間引きして出力されます。 カメラから取得するFPSより大きい値が指定された場合にはカメラのFPSのまま出力されます。
なお、以下のケースではデコード/エンコードの必要がないため、処理負荷を低減するためにデコード/エンコードを実行しません。
- Motion JPEG 形式の映像を,JPEG画像に、ピクセル数(
Height
,Width
)の変更なく出力する場合 - RAWVIDEO 形式の映像を、rawdata画像に、ピクセル数(
Height
,Width
)の変更なく出力する場合
5.4.4.6. カメラ映像の録画¶
接続したカメラの映像をファイルとして録画することができます。 録画フォーマットとしてはMJPEGでエンコードされたAVIファイルのみ対応しています。 指定された時間間隔で映像データをファイル出力します。 より高機能な録画を行いたい場合はVMS等を別途ご用意ください。
注釈
録画データは容量が大きくなりますので、 録画時間やFPSの指定、出力するディレクトリには注意が必要です。 ICE Coreが存在するパーティションと同じパーティションにあるディレクトリを指定しないことを推奨します。