網頁

2015年6月23日 星期二

[iSpy] HTTP Client (mjpeg)


iSpy 是一個 open source 的軟體, 它是一整套的監控 client/server 的套裝軟體, 也有 Android 平台上的 app, 不過這部份就沒有 source code.
這裡主要說明如何用 HTTP client 連上 iSpyServer, 以取得 mjpeg 的檔案.

Why mjpeg, what’s mjpeg ?

比較低階的 Web Camera, 它的串流, 其實是一張一張的圖片 (其實 movie 檔都是一張一張的畫面, 差別只是較高階的串流, 譬如說 MP4 或是 H.264 等, 是用連續幾個畫面組成圖組, 由前後畫面的相關性, 得到更高的壓縮率). 因此, 連到 Web Camera server 的時候, 其實就是取得這張圖片. 由於圖片是連續產生, 因此, 抓下來的就是一連串的圖片.

HTTP Command

HTTP 這個協定, 定義了幾個命令, 這樣 client 和 server 才有溝通的基準. 不過通常也只用到 GET/POST 這兩個命令.

Connect to iSpyServer

連接到 iSpyServer 的 URL 就在畫面的左下角 (畫面的內容不重要), 這個例子中是
http://192.168.1.150:80/?camid=1
image
傳送給 iSpyServer 的 HTTP Command 如下, 最後面要多加一行空行
GET /camid=1 HTTP/1.1
Host: 192.168.1.150

iSpyServer 的回傳, 在文字的最後, 還是有一行空行. 接著的就是 JPEG File
HTTP/1.1 200 OK
Server: iSpy
Expires: 0
Pragma: no-cache
Content-Type: multipart/x-mixed-replace;boundary=--myboundary
--myboundary
Content-type: image/jpeg
Content-length: 8192


沒有留言:

張貼留言

請提供您寶貴的意見