关于将摄像头的数据中转到外网的做法

2018-06-23 09:09:45 +08:00
 lollipogo

使用 Spring boot 写了程序,放在局域网中的一台机器上,通过 ngrok 对8082 端口做了一个端口映射,可以从外网访问数据库等内容。

局域网内有多个摄像头,现在想要实现:可以通过对请求路径进行配置,访问指定的摄像头。

最好能利用之前的 8082 端口(不过这一块我也不懂,希望大家指导一下)。

想法:

  1. 使用 WebSocket,web 端请求后,后台打开摄像头,使用某种技术对视频进行截图或是发送数据流(数据流这一块不知道应该怎么处理),不断的发送到 web 端,web 端进行渲染。

摄像头是海康的,在本机可以通过 rtsp 地址读取数据流。

不知道我的需求应该查什么资料,希望大家指导一下方向。谢谢!

4506 次点击
所在节点    问与答
6 条回复
stephenyin
2018-06-23 09:50:43 +08:00
外网传 ip:port 到内网, 摄像头直接推流到指定 ip:port
icemanpro
2018-06-23 09:55:01 +08:00
海康端口为 8000,
萤石云可以直接看局域网内摄像头。
也可用流媒体服务器做个代理,只需开一个端口。
ivencooli
2018-06-23 20:14:37 +08:00
帮朋友做过类似的毕设,不过摄像头是自己在树莓派上搭的。基本流程是,树莓派搭个 nginx,接收摄像头的 rtmp 或者是 hls 的流,部署在同一个 html 页面中,接着 frp 和服务器连接,直接访问这个 html 页面。
lollipogo
2018-06-24 22:53:09 +08:00
@ivencooli “部署在同一个 HTML 页面中”指的是? HTML 页面中引用的资源路径应该是外网可以访问的吧。本质上 HTML 就是一个文件,在外网访问 HTML 还是会解析它引用的资源发起请求的吧
ivencooli
2018-06-25 18:40:28 +08:00
@lollipogo [捂脸]兄弟,你没公网 ip 怎么在外网访问呢。我说的部署在同一个 html 的具体做法手机,nginx 先安装 rtmp 和 hls 的插件,html 里用 js 的形式引入 hls 流和 rtmp 流。nginx 可以解析出来的。具体可以搜树莓派 rtmp 直播,
lollipogo
2018-06-26 16:55:34 +08:00
@ivencooli 我明白你的做法,只是你说"部署"到 HTML 页面给我弄懵了,我以为你搞了什么奇技淫巧类似服务端渲染一样不用将直播流暴露到外网,只暴露 HTML 访问。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/465197

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX