[java]如何在web瀏覽器上實時監控攝像頭?
問題描述
攝像頭是海康威視的,不用??低曌詭У暮笈_系統監控系統,想自己寫一個網頁顯示。本來以為很簡單的事,但發現還是有難度的,后臺獲取攝像頭的數據流大概是ByteByReference類型。??低暲锩娴拈_發實例是個jFrame的實例,線索追蹤到
if (!playControl.PlayM4_InputData(m_lPort.getValue(), pBuffer, dwBufSize)) //輸入流數據 {break; }
之后就想消失掉了一樣,只在PlayCtrl這里定義了一句:
boolean PlayM4_InputData(NativeLong nPort, ByteByReference pBuf, int nSize);
搜索全部java文件都沒有這個接口的實現,可能是隱藏在了那些(我看不懂的)庫文件里了。而且pBuffer這個應該指的就是數據流吧,但它在哪里賦值的也不清楚.
*******(以上都是廢話)*******我的設想是:用socket長鏈接傳送ByteByReference數據給瀏覽器。但是現在有個問題:瀏覽器要怎么接收和解釋這類型的數據????:( 向各位大俠請教一下。Thanks.還有一個問題是PlayM4_InputData里面處理過些什么也不知道,所以pBuffer是不是在輸出之前改過也不清楚。
[用插件的方法]要下載一個VLC軟件,還得只能在IE瀏覽器上運行。
<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Streamedian player example</title></head><body><object type=’application/x-vlc-plugin’ pluginspage='http://www.videolan.org/' id=’vlc’ events=’false’ height='410'> <param name=’mrl’ value=’rtsp://admin:hx123456@113.106.249.238:554/Streaming/Channels/101?transportmode=unicast’ /> <param name=’volume’ value=’50’ /> <param name=’autoplay’ value=’true’ /> <param name=’loop’ value=’false’ /> <param name=’fullscreen’ value=’false’ /> <param name=’controls’ value=’false’ /></object></body></html>
問題解答
回答1:建議使用視頻發布軟件把攝像頭發布成RTMP的視頻流。然后在客戶端播放這個視頻流
回答2:你好樓主,你的意思是下載了vlc,使用下面的代碼,把rtsp://admin:hx123456@113.106.249.238:554/Streaming/Channels/101?transportmode=unicast’這些參數改成自己的就可以獲取到海康威視的監控畫面了嗎?
回答3:最簡單的方式,接入螢石云,設置直播,會提供M3U8的URL網址,可以在現代瀏覽器(包括手機)中直接播放不用任何插件,一些操作可以直接調用螢石云提供的HTTP API,缺點是需要購買螢石云的流量(很便宜,數量少貌似是免費的)
相關文章:
1. objective-c - ios百度地圖定位問題2. html5 - 如何解決bootstrap打開模態modal窗口引起頁面抖動?3. javascript - 求助關于js正則問題4. javascript - node.js服務端渲染解疑5. javascript - 求助這種功能有什么好點的插件?6. html5 - rudy編譯sass的時候有中文報錯7. html - css 如何添加這種邊框?8. 為何 localStorage、sessionStorage 屬于html5的范疇,但是為何 IE8卻支持?9. 微信開放平臺 - Android調用微信分享不顯示10. javascript - 關于定時器 與 防止連續點擊 問題
