摄像头是海康威视的,不用海康威视自带的后台系统监控系统,想自己写一个网页显示。
本来以为很简单的事,但发现还是有难度的,后台获取摄像头的数据流大概是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浏览器上运行。
Streamedian player example
建議使用影片發佈軟體把相機發佈成
RTMP
的視訊串流。然後在客戶端播放這個視訊串流你好樓主,你的意思是下載了vlc,使用下面的程式碼,把rtsp://admin:hx123456@113.106.249.238:554/Streaming/Channels/101?transportmode=unicast'這些參數改成自己的就可以獲得海康威視的監視器畫面了嗎?
最簡單的方式,接入螢石雲,設定直播,會提供M3U8的URL網址,可以在現代瀏覽器(包括手機)中直接播放不用任何插件,一些操作可以直接調用螢石雲提供的HTTP API ,缺點是需要購買螢石雲的流量(很便宜,數量少似乎是免費的)