摄像头是海康威视的,不用海康威视自带的后台系统监控系统,想自己写一个网页显示。
本来以为很简单的事,但发现还是有难度的,后台获取摄像头的数据流大概是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' width="720" 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>
카메라를
RTMP
비디오 스트림에 게시하려면 비디오 게시 소프트웨어를 사용하는 것이 좋습니다. 그런 다음 클라이언트에서 이 비디오 스트림을 재생하세요안녕하세요 포스터님, vlc를 다운로드하고 다음 코드를 사용하고 rtsp://admin:hx123456@113.106.249.238:554/Streaming/Channels/101?transportmode=unicast' 매개변수를 원하는 대로 변경하시겠습니까? Hikvision의 감시 영상을 확보하시겠습니까?
가장 간단한 방법은 EZVIZ Cloud에 연결하여 라이브 방송을 설정하는 것입니다. M3U8의 URL이 제공됩니다. 플러그인 없이 최신 브라우저(휴대폰 포함)에서 직접 재생할 수 있습니다. EZVIZ Cloud HTTP API로 호출되는데 단점은 EZVIZ Cloud 트래픽을 구매해야 한다는 점입니다(아주 저렴하고 소량은 무료인 것 같습니다)