ネットワークカメラの調査 – I-O DATA Qwatch

I-O DATAのQwatchを買いましたので、LiveCapture3に接続できるか調査してみます。

※2020/2/21リリースのLiveCapture3 v3.2.00.02210で、IO-DATA Qwatchへの接続(RTSP形式)に対応しました。なお、本記事ではMotionJPEGでの接続を調査していますが、QWatchとの接続は、RTSP(RTP H.264)で接続してください。(ビデオのみ)

Qwatch TS-NA220

これ、結構いいです!

私は、屋外対応のTS-NA220を、Amazonで2万円ちょっとで購入しました。

この値段で防塵・防水規格IP65に準拠しており、画質はHD、さらに音声の送受信も可能で、極めつけはPoE給電というところ。(PoE給電とは)

PoE給電対応のネットワークハブが必要になりますので、私はエレコム のPoE インジェクターを購入しました

これで、屋外でも電源コード不要で、イーサネットケーブルのみで設置ができます。

WiFi対応の物でも給電コードが必要なものがほとんどですので、有線でPoE対応の物の方が設置の自由度は上がると思います。

まあ、LiveCapture3で使えなければ意味がないのですが。。。

結論から言うと、LiveCapture3で使えそうです!

恐らくI-O DATAのQwatchシリーズは、みんな同じ仕様だと思われますので、他のQwatchでもOKだと思います。(確認はしていませんので、試してみた方はご連絡いただけると助かります。。)

専用ソフトでライブビューを表示する

まずは、取扱説明書に従って、専用ソフトでライブビューを表示させてみます。

使用するのは、「MagicalFinder」というI-O DATAのネットワーク製品を管理するツールです。

これをWindowsPCにインストールして、QwatchのWeb設定画面を開くと、ライブビューが表示されます。

ただ、デフォルトの設定では、ライブ映像の配信フォーマットが「H.264」になっていますので、これを「MJPEG」に変更します。

上部メニューの「設定」-「映像」-「ビデオ」を開くと、ビデオフォーマットの設定画面が開きますので、「プロファイル1」の「ビデオフォーマット」を「MJPEG」に変更して保存します。

これで、準備ができましたので、次はWiresharkを使用して、ネットワークパケットをキャプチャーします。

ネットワークパケットをキャプチャーする

専用ソフトでライブビューを表示しているWindowsPC上に、Wiresharkをインストールして、キャプチャーを行います。

まず、ライブビューを表示しているWeb設定画面を閉じてから、Wiresharkを起動してキャプチャーを実行します。

その状態で、Web設定画面を開いてライブビューを表示させると、HTTP/TCPパケットが大量にキャプチャーされていくのが見えると思います。

ある程度キャプチャーできたら、Wiresharkのキャプチャーを停止します。

MotionJPEGストリームを探す

キャプチャーしたパケットの中からMotionJPEGストリームを探します。

まずは、HTTP通信をまとめて見やすくします。

キャプチャーした最後の方のHTTPパケットを選択して、右クリックメニューから「追跡」-「HTTPストリーム」を選択します。

すると、キャプチャーしたパケットの中から、選択したHTTPパケットが属するHTTPのやり取りが、わかりやすくASCII文字列にデコードされて、まとめて表示されます。

赤色でくくられた部分がクライアント(WindowsPC)からのリクエストで、青色でくくられた部分がサーバ(カメラ)からのレスポンスになります。

赤枠で囲ったところを見ると、認証方式としてDigest認証を使用していることがわかります。

さらに、この中からMotionJPEGを要求している部分を探し出します。

最初の方で、表示するHTML画面のやり取りなどを行い、それが終了(画面が表示)されたら、あとはライブビュー用にMotionJPEGを流している形になっているはずですので、スクロールさせて最後の方を見てみます。

最後の方を見ると、ASCII文字列に変換できない(=バイナリ)部分で埋め尽くされており、ここがMotionJPEGのストリームになりますので、このバイナリストリームを要求している部分を探します。

※MotionJPEGの基本的なフォーマットはこちらを参照してください。動画配信について

Qwatchでは、下記の赤で囲った部分がMotionJPEGストリームを要求している部分になります。

Content-Typeが無いので、ちょっとプロトコル的にはまずいところもありますが、LiveCapture3ではこの状態でも接続可能です。

LiveCapture3へのQwatchの追加方法

LiveCapture3のプリセットXMLに下記の1行を追加し、認証方法として「Digest認証」を選択すればOKです。

<Device object=”/ipcam/stream.cgi?nowprofileid=1&audiostream=1″ name=”IO-DATA Qwatch”/>

※”&”はURLエンコードされるので、直接メモ帳等で記入する場合は以下になります。

<Device object=”/ipcam/stream.cgi?nowprofileid=1&amp;audiostream=1″ name=”IO-DATA Qwatch”/>

※LiveCapture3へのネットワークカメラのプリセット追加方法はこちらを参照してください。 

ネットワークカメラの追加方法

音声対応

とりあえずこれだけでもライブビューは見えますが、ちゃんとQwatchに対応するには音声も対応しなければ、と思って、もう少し調べてみました。

MotionJPEGストリームはMultiPartになっているので、区切り文字の「–myboundary」で検索をかけながら、各パートを見ていくと、、、

音声パートがありました!

「Content-Type : image/jpeg」の間に、不定期に「Content-Type : audio/x-mulaw」のパートが出てきます。

x-mulawというのは、μ-lawフォーマットの音声データということなので、この部分を抜き出してデコードして音声デバイスに流し込めば音声対応もできそうです。μ-lawとは

ということで、次期バージョンのLiveCapture3には、このQwatch対応(可能であれば音声も)を追加していく予定です。

※2020/2/21リリースのLiveCapture3 v3.2.00.02210で、IO-DATA Qwatchへの接続に対応しました。なお、本記事ではMotionJPEGでの接続を調査していますが、RTSP(RTP H.264)での接続も対応済みです。(ビデオのみ)

最後に

LiveCapture3でのネットワークカメラ対応の為の調査方法を記載しましたが、今後、他のカメラでの調査方法もこのブログに乗せていこうと思います。

Wiresharkを使用したネットワークパケットキャプチャーは、クラウド全盛の今でも非常に重要な調査手段となっています。

興味を持った方はぜひ、いろいろな通信をキャプチャーして勉強してみてください!

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です