现在需要有一个功能,将其他地方摄像头的画面实时传输到前端页面,类似市面上的直播软件吧,并发量并不高。搜索了文档,但是大多数都是使用 nginx + rtmp 模块实现的。我搭建了一个测试,延时太高无法接受。所以想请教大神,有什么实时性好的视频服务器搭建攻略。跪求跪求!
1
xiaoxi123 2018-06-26 10:44:39 +08:00 1
不要用 rtmp,对服务器要求高,小成本直播,用 http-flv
|
2
jianlu 2018-06-26 11:10:24 +08:00
flask+opencv
|
3
liu826250634 OP @xiaoxi123 有没有什么靠谱的文档链接?麻烦了。
|
4
jimzhong 2018-06-26 11:13:26 +08:00
OBS?
|
5
liu826250634 OP @jimzhong 我搭的是服务器,OBS 不是用来录制、推流的么?
|
6
iamsee 2018-06-26 11:57:30 +08:00 1
小流量的 可以试下 srs https://github.com/winlinvip/srs,自动转码等功能还可以,延时根据配置可以降到很低
|
7
iamsee 2018-06-26 12:01:06 +08:00 1
楼主可以留个联系方式交流一哈
|
8
ZXCDFGTYU 2018-06-26 12:03:27 +08:00
https://github.com/ossrs/srs
srs 我记得可以支持 rtmp、hls 等等好多类型的来着。 另外延迟高的话,你可以看看你的上传带宽多大。延迟高应该和你的上传带宽有关,或者说压缩一下你推流的视频。 |
9
liu826250634 OP @iamsee 826250634 微信
|
10
likuku 2018-06-26 13:23:41 +08:00
不转码的话,rtmp 还是可以的。加上网络缓冲什么,延迟 1 分钟还是可以接受的吧。
需要转码的话,就得靠 N 卡来加速 ffmpeg 了。 |
11
liu826250634 OP @iamsee 我之前也没做过这个, 但是公司有需求才找资料的。
|
12
liu826250634 OP @ZXCDFGTYU 我看了资料,都说 hls 延迟都是挺高的。
|
13
liu826250634 OP @likuku 我需要延迟控制两秒以内。所以接受不了。
|
14
xiaoxi123 2018-06-26 14:06:18 +08:00
|
15
xiaoxi123 2018-06-26 14:07:21 +08:00
@liu826250634 hls 可以通过把切片分小一点,来降低延迟
|
16
fgodt 2018-06-26 14:15:04 +08:00 1
首先你延时就决定了不能是现成方案,目前直播方案延时普遍较高
说直播方案问题:你的摄像头是什么摄像头 rtsp 的流么 如果是 rtsp 那么方案就是 rtsp->ffmpeg->rtmp->前端 或者是 :rtsp->ffmpeg->flv->前端 再或者是:rtsp->自定义服务器->websocket->前端 这些方案在延时上已经是最低了 如果这都解决不了你的问题就要考虑自己优化了,我们这边就是自己写播放器等优化才把延时降低到 2s 左右 |
17
liu826250634 OP @fgodt 谢谢老哥的建议,我们这里涉及不同的厂商,我们公司 CS 端的话(使用海康 SDK 方式取流),再传给我们,其他厂商都应该大同小异。但是因为我们不能直接调海康的接口。所以想采用的是搭一个服务器,他们把视频流传给服务器,再从服务器取视频(我也不太清楚这个方案靠不靠谱)。
|
18
xshwy 2018-06-26 15:05:40 +08:00
直接用现有的直播 SDK 不行吗
腾讯云: https://cloud.tencent.com/product/LVB |
19
liu826250634 OP @xshwy 我们是在专网里面,不能上网。
|
20
javen73 2018-06-26 18:03:41 +08:00
srs red5
|
21
hahastudio 2018-06-26 18:07:59 +08:00
摄像头+物理机+远程桌面?
这个延时应该很低 |
22
explicit 2018-06-26 18:27:17 +08:00
推荐用第三方服务,比如:七牛云之类
|
23
explicit 2018-06-26 18:32:11 +08:00
自己玩玩无所谓的,如果打算商业化,建议多看看中国政府对于直播行业制定的法律法规.
|
24
explicit 2018-06-26 18:37:16 +08:00
"类似市面上的直播软件吧,并发量并不高",高可用的视频直播,点播服务主要靠的是 CDN,没有资金实力的小公司,自己搞 CDN 划算吗?
|
25
CFM880 2018-06-26 18:38:17 +08:00 via Android
商用自建的话,考虑一下 wowza
|
26
qiayue 2018-06-26 18:41:03 +08:00
jsmpeg.com 了解一下
|
27
Geekgogo 2018-06-26 18:42:22 +08:00
我们公司正好也在做这个,用的是 rtmp+nginx 方式,由于 hls 延迟太高,基于 videojs 直接在前端页面播放 rtmp 流,但是很多浏览器都没办法正常播放,正在找方法解决。。。
|
28
chinvo 2018-06-26 18:46:13 +08:00
nginx-rtmp-module
|
29
lyver 2018-06-26 19:55:48 +08:00
一个人来说开发一套直播系统是非常困难的,不仅要精通音视频技术还得大量的成本。
自建 CDN 分发的费用是非常高的,建议去阿里云租,服务器+CDN 走 RTMP 协议即可,一般延迟在 3S 左右。需要有一定开发能力。 我司保利威,是做直播 SAAS 平台的,接口完善,专人对接,要满足你的这个需求,非常简单,延迟和阿里差不多。 主要还是看自己的需求去选择,如果团队想要搭建直播平台,没有丰富的开发经验,可以考虑我们这类 SAAS 服务商,把前端代码嵌入就行了,节省项目周期。 |
30
realpg 2018-06-26 20:27:33 +08:00
闭路实时监控系统嘛
海康自身就有完整方案 也有异地调取的方案 为啥不采购完整了还自己开发 |
31
tinywhale 2018-06-26 21:21:39 +08:00
WebRTC 万能,如果你能把服务器框架和摄像头视频流对接起来的话
|
32
likuku 2018-06-26 21:36:58 +08:00
低延时可没那么简单,最基本的,就是你摄像头本身编码和推流能力,是否可以作到 2s 以内缓冲就可以稳定工作,
其次,推流的协议是否可以支持达到那么低的延迟(至少先保证摄像头到最近的视频服务器这段) |
33
twistoy 2018-06-27 00:06:44 +08:00
srs 性能完全足够,控制一下缓存的大小,延迟可以控制的很小
|
34
scnace 2018-06-27 00:30:56 +08:00 via Android
我之前玩过 用了 Go 写的流媒体服务器 joy4
|
35
sunzongzheng 2018-06-27 01:40:07 +08:00 via Android
我搭过, 公网服务器 2s 延迟有点困难,带宽也是问题
|
36
iamsee 2018-06-27 09:17:49 +08:00
@liu826250634 要延迟低别用 hls,hls 可以作为切片点播服务器,还是 rtmp 延迟低
|
37
iamsee 2018-06-27 09:18:26 +08:00
最主要的是带宽问题,如果是内网还好说,带宽费折腾不动
|
38
xiaoheijw 2018-06-27 09:48:06 +08:00
刚好,前阵子,也有这样一个需求,把摄像头内容推给前端,一开始使用的是 hls,延迟大概是 1 分钟,之前换了 srs,延迟大概是 8s,最后干脆用原生的 ffserver,延迟大概是 2s,当然以上是内网环境。也试过用阿里云的直播推流,但阿里云也大概延迟是 5s。如果你有公网需求的话,建议还是用大厂的产品。
|
39
liu826250634 OP @realpg 我们有海康的摄像头。但是不能直接调用,需要通过 CS 端转发。如果是能直接调用的话,通过控件延迟很低。
还涉及不同的摄像头,没办法统一,所以才想着搭一个服务器转发。 |
40
M4ster 2018-06-27 10:34:24 +08:00 1
之前自己折腾玩过,服务端就用的 SRS,PC 录屏用的 OBS,播放可用 flv.js 。
SRS: https://github.com/ossrs/srs/wiki/v2_CN_Home SRS 提供了丰富的接入方案将 RTMP 流接入 SRS,包括推送 RTMP 到 SRS、推送 RTSP/UDP/FLV 到 SRS、拉取流到 SRS。 SRS 还支持将接入的 RTMP 流进行各种变换,譬如将 RTMP 流转码、转发给其他服务器、转封装成 HTTP-FLV 流、转封装成 HLS、转封装成 HDS、录制成 FLV。 SRS 包含支大规模集群如 CDN 业务的关键特性,譬如 RTMP 多级集群、VHOST 虚拟服务器、无中断服务 Reload、HTTP-FLV 集群。 此外,SRS 还提供丰富的应用接口,包括 HTTP 回调、安全策略 Security、HTTP API 接口、RTMP 测速。SRS 在源站和 CDN 集群中都得到了广泛的应用 Applications。 |
41
liu826250634 OP @xiaoheijw 老哥,能加微信私聊么?
|
42
lshero 2018-06-27 10:40:53 +08:00
低延时还是考虑用视频通讯的方案吧
|
43
fgodt 2018-06-27 11:01:59 +08:00
其实你们 cs 端能拿到流就很容易了 直接 cs 端的程序改改 上公网就用阿里云,自己的局域网就用 nginx+rtmp 或者自己写个转发。都是很简单的逻辑 只要了解点 rtmp 协议基本就能弄
|
44
jimmyczm 2018-06-27 16:31:52 +08:00
wowza 不错,之前用过
|
45
lh948 2019-09-08 14:24:49 +08:00
@liu826250634 问题解决了吗?方便加好友了解一下吗?
|
46
registerrr 2019-09-11 18:27:39 +08:00
@lh948 我也遇到这个问题了,我这要求更高,要控制到 1s,太难搞了.
加个好友?wx:enp6MDM3MTA= |
47
leffz 2020-06-27 21:16:25 +08:00
阿里云视频直播解决方案:leffz.com/live
|