为了账号安全,请及时绑定邮箱和手机立即绑定

[java]如何在web浏览器上实时监控摄像头?

[java]如何在web浏览器上实时监控摄像头?

白猪掌柜的 2019-03-01 10:52:22
摄像头是海康威视的,不用海康威视自带的后台系统监控系统,想自己写一个网页显示。本来以为很简单的事,但发现还是有难度的,后台获取摄像头的数据流大概是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://xx:mm@yy/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>
查看完整描述

5 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

最简单的方式,接入萤石云,设置直播,会提供M3U8的URL网址,可以在现代浏览器(包括手机)中直接播放不用任何插件,一些操作可以直接调用萤石云提供的HTTP API,缺点是需要购买萤石云的流量(很便宜,数量少貌似是免费的)

查看完整回答
反对 回复 2019-03-01
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

webrtc

webrtc开启本地摄像头

查看完整回答
反对 回复 2019-03-01
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

建议使用插件好点

查看完整回答
反对 回复 2019-03-01
?
当年话下

TA贡献1890条经验 获得超9个赞

你好楼主,你的意思是下载了vlc,使用下面的代码,把rtsp://admin:hx123456@113.106.249.238:554/Streaming/Channels/101?transportmode=unicast'这些参数改成自己的就可以获取到海康威视的监控画面了吗?

查看完整回答
反对 回复 2019-03-01
?
慕的地6264312

TA贡献1817条经验 获得超6个赞

请问楼主最后如果实现了 毕业设计想做一个基于java的视频监控系统 和你的设想是一样的 硬件摄像头采集信息 web页面展示 能请教你如何实现了呢

查看完整回答
反对 回复 2019-03-01
  • 5 回答
  • 0 关注
  • 2409 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信