有办法在不经过服务器转码直接在浏览器播放摄像头 rtsp 流吗

2023-04-04 10:04:14 +08:00
 noobma

需求是有一个海康的摄像头,需要在浏览器预览画面。

现在是内网弄了一台服务器把 rtsp 转成 webrtc 去播放的,但是这样上线的时候就需要专门开一台转码推流的服务器,而且带宽肯定也要几十 M 起步,一个月最少估计也要几千块。

我看 ffmpeg 有 webassembly 版本,就是能不能在前端直接通过 ffmpeg 去转码,然后前端直接播放呢。

有没有相关实践的大佬给点建议🙏

4957 次点击
所在节点    程序员
37 条回复
NessajCN
2023-04-04 13:58:52 +08:00
ffmpeg 的确有 wasm 版本,但你要用 ffmpeg 转码的前提是首先要有这条码流
因此你需要开一个服务,让摄像头可以把码流推到这个服务上,
一般海康会给配一台 nvr 就是用来开这个 rtsp 服务接收推流的。
如果你只有一台摄像头,那你无论如何都必须自己开这么个服务,然后去摄像头那里设置好把流推到你自己开的服务上(因此需要可访问的固定 ip 或域名)。这一步无论如何也不可能在客户的机子或浏览器上完成。
所以还是老实点整服务器吧。
ysc3839
2023-04-04 17:15:11 +08:00
@bv WebSocket 当然可以,但是楼主的目的是节省流量。楼主说的“转码”其实只是转封装,不吃 CPU/GPU 编解码,吃的是网络流量。
DCELL
2023-04-04 17:29:07 +08:00
RTSP 推流服务其实还是简单的,据我了解现代浏览器都不支持 RTSP 流
myleszzZ
2023-04-04 17:32:03 +08:00
感觉遇到了同样的事情,吐槽一下我们现在做的方式,后端用 zlmediakit 转码,负责将 rtsp 流转换成 flv,内网走 frp 通道; H265 + 1080P ,前端换各种组件播放,最后花钱买了一个 js 播放器,才勉强上线。
建议
1 、对画质没要求,摄像头降低清晰度到 720P
2 、NVR 存储空间够用,改成 H264
mankismi
2023-04-04 17:49:45 +08:00
我也是折腾了一个多月得出的结论,需要的还是需要。逃不了
推荐一个小项目
https://github.com/mpromonet/webrtc-streamer
轻量的 webrtc 转码 简单易用
Swimming
2023-04-04 18:10:59 +08:00
今天给客户装了 4 个 800 万像素的,他说要做 RTSP ,我们只管装,他自己在录像机配置,然后找电信拉专线去了……
kukat
2023-04-05 00:02:49 +08:00
Wasm 应该可以
whi147
2023-04-05 00:29:37 +08:00
@thinkershare 我用 wasm 搞定了,就是软解同时只能解一路
whi147
2023-04-05 00:32:07 +08:00
@NessajCN 这一步可以实现,本地拉流推到 wasm
hanguofu
2023-04-05 01:43:59 +08:00
谢谢推荐!
luohuanlh
2023-04-05 07:01:57 +08:00
请问,如果有 500 多路海康视频,转 web 播放,除了 ffmpeg+zlmediakit ,还有更合适的方案不?
fzcf
2023-04-05 12:19:34 +08:00
@luohuanlh #31 采购一套海康的视频平台,直接通过他转成 web 播放
luohuanlh
2023-04-05 18:24:08 +08:00
@fzcf 果然还是要加钱才行呐。
fzcf
2023-04-05 23:08:01 +08:00
@luohuanlh #33 低成本的话你用萤石云吧也没多贵,就是流量要花钱。
luohuanlh
2023-04-06 09:05:21 +08:00
@fzcf 不准备通过公网服务转。内部物理服务器 24 核,128 内存,我试了下转 100 多路是极限了。
suke119
2023-04-06 09:19:01 +08:00
node+websocket+flutte-ffmpeg ,简单易用,其他的处理降级浏览器版本使用 flash 都比这个方案复杂麻烦
suke119
2023-04-06 09:21:45 +08:00
还有就是 wasm 方案也不得行,浏览器没法提供 tcp/udp 裸流的,所有 over

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

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

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

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

© 2021 V2EX