ffserver
とりあえず簡単な通信ができるようになりました。
いろいろHPを眺めていると、どうやらデータを送信するときには全てを一度に送れなかったりすることがあるようです。そこら辺もプログラムしても良いのですが、今回はサーバー側のプログラムは自作せずにffserverというプログラムを使用することにします。
ffserverはffmpegに付いてくる、簡単な動画サーバープログラムです。
PCのVMware上でffmpegはすでにコンパイルしてありますので、同時にffserverも実行可能な状態にコンパイルされています。
ffserver -f configファイル
で実行され、クライアントからの接続を待つ状態になります。
configファイルはdocディレクトリにあります(ffserver.conf)ので、それをほんの少し修正します。
#<Stream file.rm>
#File "/usr/local/httpd/htdocs/tlive.rm"
#NoAudio
#</Stream>
の部分を以下のように変更しました。
<Stream video.mjpeg>
File "/home/hogehoge/LEON/ffserver/video.mjpeg
NoAudio
</Stream>
そして、/home/hogehoge/LEON/ffserver/video.mjpegに表示したいmotionJPEGのシンボリックリンクを張ります。
ffserver -f ffserver.conf
と実行すると、メッセージが出て ffserver の実行がはじまります。
これでサーバがスタートしてアクセスを待っている状態ですので、windows側からアクセスしてみます。
windows側でWebブラウザーを立ち上げ、VMware側のIPアドレスを直接ブラウザーに打ち込みます。
ffserverはポート8090を使用します。私の環境では、VMwareのIPアドレスは 192.168.24.51です。
http://192.168.24.51:8090/stat.html
video.mjpegというリンクがあります。
クリックするとダウンロードされました。QuickTimeで開くと最初の一枚目の画像が表示されました。
motionJPEGビューワをヘルパーアプリにしていればストリームで動画が見れるはずです。
現在のボードで動いているdjpegプログラムで、192.168.24.51:8090/video.mjpeg にアクセスするようにソケットを初期化して、そのソケットからデータを読み込めばネットワーク越しのビューワーが動作するはずです。