Re: [請益] 快速更新圖片(影像監控)

看板Programming作者 ( )時間17年前 (2008/03/28 17:48), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串4/7 (看更多)
※ 引述《archon (三腳貓的把戲)》之銘言: :  http://76.16.160.118:8080/ : http://83.160.162.175:8080/ : 這些是用 webcamxp 架出來的監控台,的確 fps 是沒那麼好, :  這個跟網路可能有點關係,我自己在區網裡測試的話, :  就跟即時影像沒什麼差別... : webcamxp 是套裝軟體,應該是類似一個 httpd server, :  輸出的確是以 jpg 的方式一張一張傳到 client 的, :  因此,我們將這樣的方式列入考量。 webcamxp是個套裝軟體沒錯, 但是他不只提供http broadcast的方式, 他同時也提供了串流的方式, 我自己試了一下... 影像來源是我自己的電視卡... 在本機上測試大約在3.5fps左右, 我看了一下他的html code, 他的http broadcast是透過javascript不斷的更新圖片來實現影像的, function LoadImage() { document.images.webcam.src = "cam_"+camnum+".jpg?uniq="+Math.random(); } function DoIt() { errorimg=0; window.setTimeout("LoadImage();", 25); } <img src="loading.jpg" id="webcam" name="webcam" onload="DoIt()" onerror="ErrorImage()" onmousedown="PTZMouseDown(event)" 簡單的說,送出影像的request+隨機的數字, server端收到request就丟給你最新的圖片, 當圖片載入完之後會執行onload這個event, 接著就是等25ms然後重新去載入圖片, 如果完全理想的話可以到40fps, 但是這幾乎是不可能。 如果你打算用這樣的架構去弄的話, 那一樣可以參考上面的方式, client端透過javascript死命的送request, server端這邊關掉cache跟anti DOS的機制, 然後隨便用個語言來處理這些http request, 如果希望效能再更好一點的話,用C直接實現http server的功能效能應該會更好, ﹝這個可以參考maple itoc的bhttpd.c﹞ 反正server只要負責把最新的圖片吐回去給client就好:) : : 如果你只是單純要弄個即時影像出來, : : 我會建議Windows + Windows media encoder弄串流, : : 或是linux + vlc player弄串流, : : 網路環境不錯的話,要弄到10幾個fps不難...:) : : 或許你可以再描述清楚一點你的需求:) : 其實,這件工作也是從上頭丟下來的, :  希望是可以用快速抓 jpg 的方式來達到即時影像的效果, :  考量到以後應用的平台上,「也許」會遇到只支援 jpg decoder 的環境, :  這樣的考量究竟合不合理,說來懺愧,我真的是沒什麼頭緒... QwQ : 未來,影像輸入並不是接在電腦上,也許先假設成是一個機器人, :  上頭有簡單的處理器再加一顆 webcam 這樣子... :  希望可以透過區域網路,讓 client 端的使用者看到 webcam 的畫面, :  而使用的方式,就是將 webcam 截取的畫面存成 jpg, :  一張一張傳回來這樣子... : 不知道這樣的描述有沒有哪裡還不足呢? -- ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ 國 立 聯 合 大 學 (理工/電資/管理/技術/客家)院所 招生中 National United University ─────────────────────────────────── 首頁 http://www.nuu.edu.tw BBS telnet://uun.twbbs.org -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.145.202

03/28 19:23, , 1F
黑龍江邊裸身跪謝... <(_ _)>
03/28 19:23, 1F

03/30 12:32, , 2F
不知道 Client 加上 AJAX 會不會比較快
03/30 12:32, 2F

03/30 12:33, , 3F
這樣 Client 就省去讀 JPG 以外的HTML
03/30 12:33, 3F

03/30 12:34, , 4F
但我不確定 AJAX 是否可以讀文字以外的物件
03/30 12:34, 4F

03/30 12:49, , 5F
使用ajax的話要透過xmlhttprequest
03/30 12:49, 5F

03/30 12:49, , 6F
去送出http request,應該差不多?
03/30 12:49, 6F

03/30 18:44, , 7F
哈 抱歉 看您的 JavaScript 似乎是一樣
03/30 18:44, 7F
文章代碼(AID): #17xBx_KB (Programming)
文章代碼(AID): #17xBx_KB (Programming)