2015/11/09(月)IPカメラ(Webcam)リレープログラム / ip-camera-relay.pl

IP Cameraの映像を中継するプログラムです。以下の機能があります。

  • IPカメラへの自動再接続。
  • 複数のIPカメラを登録し、接続できたカメラの映像を中継する。接続が切れたら、次に接続できたカメラに接続する。
  • IPカメラに接続できていない時は、指定した画像(ブランクイメージ)を代わりに送信する。

VLCなどのIPCamストリーム受信ソフトでは、カメラとの接続が切れた場合に自動再接続を行ってくれないものがあります。またカメラと接続が切れたときにブランク画像を挿入したいこともあり、それを実現するためのソフトになります。

プログラム

Gistに置いたので、適当に拾ってください。

使い方

$ ip-camera-relay.pl -p 8888 http://(camera-ip):port/stream-path

クライアント接続用に8888番ポートを開き、指定したカメラに接続します。カメラURLはブラウザから接続するURLではなく、ビデオストリームのURLを指定してください*1

複数のカメラを指定すると、それぞれを順番に接続します。最初に接続できたストリームをクライアントに配信し、カメラとの接続が切れたら次に接続できたカメラの映像を送ります。

どのカメラとも接続できない時は、ブランク画像(標準では640x480の青い画像)を送信します。

その他オプションはヘルプを参照してください。

*1 : ブラウザから接続したりカメラの仕様書を見れば、書かれているかと思います。

WebCamのプロトコル

続きを読む

2015/11/06(金)UPnP/SSDPマルチキャスト中継プログラム(DLNA用)

UPnPのマルチキャストパケットを中継するためのプログラムです。通常、同一ネットワーク内でしか使用できないUPnPを、ルーターを超えて使用できるようになります。

想定

  • DLNAサーバとクライアント(またはコントローラーとレンダー)がルーターを超えて存在する。
  • それぞれネットワークAとBとすれば、A内のPCとB内のPCは互いに通信可能である(NATされていない)。
  • どちらのネットワークにも属するPCが存在する。

「WiFiと有線LAN環境を同一ネットワークにしたくない」ただそれだけなのですが、そのせいでUPnP/DLNAが超えられず大変苦労しました……。

続きを読む

2015/11/02(月)DLNAとVLC Direct

スマホ中の動画をPC内のウィンドウとして映したいので格闘しました。

DLNAキャスト

スマホの中にある動画などをディスプレイにそのまま映すならこの前のMiracast最強なのですが、そうではなくて、PCにWindowとして(PinPみたいに)映そうとすると色々と難しい。

最初に検討したのはDLNAでした。Windows7以降に含まれる、Windows Media Player 12には、DLNAサーバ機能があります。

  • WMP12 → ストリーム → プレーヤーのリモート制御を許可

ここで「DLNA cast機能」を持つクライアントソフトを使って映像などを送り込むことができます。これについては、Androidソフトを色々試しましたがAllConnectが一番優秀でした。*1

音楽は対象としなかったので、音楽をcastしたい場合はまた違うソフトがいいかもしれません。

欠点

  • UPnP/DLNAの仕様上、同一ネットワーク内でしか使えない(ルータを超えられない)

VLC Direct

そんなこんなしていたら、VLC Directというソフトを見つけました。

続きを読む