lib32100
1.0.0
多くの P2P カメラで使用されるポート 32100 UDP クラウド プロトコルを実装するライブラリ。プロトコルの説明は wiki で見つけることができます。
npm install --save lib32100
ライブラリを要求する
const lib32100 = require ( 'lib32100' )
クライアントを識別する
const client = lib32100 . client ( )
各クライアントは1 つのデバイス(カメラ) と複数のクラウド サーバーを処理できることに注意してください。
サーバーの追加
client . addServer ( { host : "myserver.example.com" , port : 32100 } )
デバイスUIDを設定する
client . setUid ( 'PROD123456ABCDE' )
リスナーを追加する
client . on ( 'stun' , ( e ) => console . log ( JSON . stringify ( e ) ) )
client . on ( 'lookup' , ( e ) => console . log ( JSON . stringify ( e ) ) )
クラウドサーバーにコマンドを送信する
client . sendSTUNRequest ( )
client . lookupUid ( )
カメラアドレスを追加
client . addCamAddress ( { host : "192.168.0.100" , port : 10088 } )
カメラの認証情報を設定する
client . setCamCredentials ( { user : 'admin' , pass : 'password' } )
ダイレクトカメラセッションを開く
client . openDirectCamSession ( { host : "192.168.0.100" , port : 10088 } )
資格情報を確認する
client . checkCredentials ( )
スナップショットの取得
client . getSnapshot ( )
カスタム GET リクエストを送信する
client . sendGet ( '/custom_url.cgi?myparam=hello' )
複数の GET リクエストを送信する
client . sendMultipleGet ( [ '/custom_url1.cgi' , '/custom_url2.cgi' , '/custom_url3.cgi' ] )
ライブビデオストリームを取得する
client . getVideoStream ( )
ライブオーディオストリームを取得する
client . getAudioStream ( )
ビデオストリームを停止する
client . stopVideoStream ( )
オーディオストリームを停止する
client . stopAudioStream ( )
さまざまな情報を入手
client . getParams ( )
client . getCameraParams ( )
client . getFactoryParam ( )
client . getStatus ( )
client . cameraControl ( )
client . getMisc ( )
client . login ( )
client . getRtsp ( )
client . getOnvif ( )
client . getRecord ( )
client . wifiScan ( )
client . getWifiScanResult ( )
段階的に方向に移動する
client . stepDown ( )
client . stepLeft ( )
client . stepRight ( )
client . stepUp ( )
方向に移動する
client . moveDown ( )
client . moveLeft ( )
client . moveRight ( )
client . moveUp ( )
client . stopMove ( )
セッションを閉じる
client . closeCamSession ( )
以下のイベントで聴くことができます。
stun (server response)
lookup (server response)
lookupACK (server response)
unknownMsg (any message not yet parsable by the library)
pingpong (camera ping or pong)
close (camera closed session)
confirmed (camera comfirmed ID i.e. session opened)
ack (camera acked a message)
http (an http response)
audio (live audio data)
video (live video data)
complete (a complete http response)
lostConnection (the connection was lost)
この実装は公式仕様に基づいているのではなく、純粋にプロトコルのリバース エンジニアリングに基づいています。すべてのデバイスで動作することを保証することはできません。
マサチューセッツ工科大学著作権 (c) ファブリツィオ ベルトーネ