流媒体:云端视频监控与可视化对讲

 [[377313]]

本文转载自微信公众号「java开源精选」,作者妖生 。转载本文请联系java开源精选公众号。  

背景

最近在调研调研流媒体、RTSP、SIP之类的,两方面的目的:一是找一个云端查看局域网监控的方案,一个是实现与门禁联动的SIP 可视化对讲。

云端视频监控

云端视频监控有三种方案:

1、开发SIP服务器,实现GB28181协议,海大宇的IPC摄像头也基本支持,但是如果有存储30天的这种需求,对于云端来说,云盘就太昂贵了。

2、上下级联动,通过海大宇的SDK调用摄像头NVR(IPC摄像头一般自带)或硬盘录像机,再推送云端。

3、上下级联动,通过RTSP(摄像头一般都支持此协议)拉流录像,在云端下发命令时推送实时的或曾经的录像视频至云端。

云端视频监控之前选定的方案是采购h5stream,可以上下级联动,使用简单,海大宇等主流摄像头都可以支持。

但是因为需要每台机器都部署一个license,比较烦人;操作步骤是先部署,再邮件申请license,再激活,要弄两次,没法直接接入,在物联网实施的时候特别尴尬。费用倒是不贵,一个license百元左右。

然后开始重新调研。

2020年年初,我在疫情放假期间曾经基于网上的教程做过一个使用nginx-RTMP + OBS实现的推流直播,浏览器上调用.m3u8的分片流,但是分片流这种方式延迟太高了。

调研SIP时发现有一个国人开发的C++流媒体库不错,ZLMediaKit;地址是https://github.com/xia-chu/ZLMediaKit。并且有许多优秀的作者基于ZLMediaKit开发了对应的SIP服务,且实现了公安制定的国标GB28181-2011、GB28181-2016协议。

在猪猪群里问了一下有没有java实现的流媒体库,有同学说red,去搜了下,发现red5的github还在更新维护,倒不失为一个选择。但是最新的red5版本是基于jdk11的,就有点犯怵了。

另有群里的同学贴出了知乎上的答案,虽然已经是2015年的了,但还是具有参考价值,可以看一看:

  • Live555 (C++) 流媒体平台框架
  • EasyDarwin (C++,国产精品)实时流媒体播放服务器程序
  • DarwinStreamingSrvr (C++)
  • Flash流媒体服务器
  • Red5 (Java)流媒体服务器
  • Open Streaming Server (Java)FMS流媒体服务器 (Adobe,收费的)
  • Wowza流媒体服务器(Java)开源流媒体平台
  • FreeCast(Java)

帖子地址:https://www.zhihu.com/question/31160392。

Live555 EasyDarwin都是不错的方案,EasyDarwin 还是我们合肥的,是一家叫青犀的公司。

上面没列入而我调研的还有 liveGBS 、h5stream,这几种方案都是可以上下级联动的,但是因为价格的原因,主要是青犀千路以下比较贵,我们目前还没那个量级,所以选择了可以分批次购买的h5stream。

SIP音视频对讲

说完视频监控,说说SIP 音视频对讲。

如果只是做SIP 音视频对讲的话,找到了一个不错的解决方案,即是flashphoner,地址https://flashphoner.com/。Android、ios、web都支持。

然后在查看flashphoner的过程中,找到了这个帖子【25个常用免费SIP软电话】,地址:https://zhuanlan.zhihu.com/p/313345953。

列表如下:

  • XLite (Now Bria Solo)
  • linphone
  • MicroSIP
  • 3CX Softphone
  • ZoIPer
  • Blink
  • Grandstream WAVE
  • (Qutecom)Wengo
  • Damaka
  • AdoreSoftphone
  • MiniPAX
  • MizuPhone
  • FlashPhone
  • FaramPhone
  • Mirial Softphone
  • WXCommunicator
  • Twinkle
  • IAXComm
  • SJLabs SJPhone
  • Phoner
  • DIAX
  • ExpressTalk
  • T-Max Dialer
  • IPComms
  • IMSDroid

当然,并没有一一验证。

如果选好了后端的流媒体方案,前端的播放怎么弄?想到了使用webRTC。

在搜寻webRTC的时候,找到了极客时间李超的课,在其音视频直播课中,也推荐了几款开源的流媒体软件:

  • licode、
  • Janus-gateway
  • Mediasoup
  • Medooze

Meooze、Mediasoup、Licode这三个流媒体服务器的媒体通信部分都是由 C++ 实现的,控制逻辑通过 Node.js 实现。Janus-gateway是完全通过 C 语言实现的。据说是都可以支持500人的多人视频。

商业上还有个大牛直播,据自己介绍延迟极低,适合做直播服务。

调研后的想法

就这些吧,这是目前调研的一些成果。有些也并没有做深入的研究。有些部署起来较为麻烦,花了半天没部署好,就放弃了。

目前的想法是将视频全部推到云端肯定不现实,带宽太贵了。所以准备在局域网中部署客户端,拉流RTSP,使用webRTC或其他js工具播放,然后使用frp这类穿透软件,可以直接暴露服务给外网访问。

甚至可以将js中的播放地址替换为局域网中播放地址,使用iframe的方式嵌套,只要解决跨域问题,就可以直接让视频在客户局域网的本机上播放。

当然,如果不是对应局域网内的客户机访问就很尴尬了,所以还要做好云端访问与本地访问的隔离。

回过头来想想,我们在A、B两个局域网,使用A区的电脑访问系统,然后展示B区的摄像头,也不是不可以,使用NAT转换的方式,进行点对点访问就行了,只是把云端作为一个隧道,那流量是不是可以破开带宽的限制呢?

目前的想法可能有别于主流的解决方案,也不知道能不能实现。做做看,否则带宽真的是个大问题。

至于可视化对讲,如果自研的话,目前倾向于采用 ZLMediaKit,在其上实现SIP 信令。

但是可视化对讲方案是比较成熟、通用的,也没有个性化的需求,所以找几家商业公司比较下,应该就可以确定了。

附录:名词简析

RTSP:实时流协议(Real Time Streaming Protocol)。流媒体公有协议,专门用以控制流媒体服务器。如播放,录制和暂停。基于UDP协议,传输ts(.m3u8)、MP4格式流。目前多用于安防领域。

RTMP:实时消息协议(Real-Time Messaging Protocol)。目前是Adobe的私有协议,未完全公开,跟RTSP拥有一样的功能。基于TCP协议,传输flv、f4v格式流,目前是比较主流的流媒体协议。有很多变种,具体看维基。

RTSP一般需要2-3个通道,数据和命令通道分开,RTMP和HTTP在一个通道上传输命令和数据。

SIP:会话发起协议(Session Initiation Protocol),由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议,也被称作信令协议,所以SIP服务也称作信令服务。

SIP可以用于创建、修改和终止包括视频、语音、即时通信、在线游戏和虚拟现实等多种多媒体元素在内的交互式用户会话。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/146100.html<

(0)
管理的头像管理
上一篇2025-03-10 22:41
下一篇 2025-03-10 22:43

相关推荐

  • GEO友好的服务器标准有哪些,如何判断?

    SEO友好的服务器,核心标准是速度、稳定性、IP纯净度、安全合规以及服务商资质,缺一不可, 选择服务器不能只看配置,更要关注机房基础设施、网络质量、IP信誉以及服务商是否持牌经营,符合这些条件的服务器,才能让百度爬虫顺利抓取、用户获得良好体验,从而稳定提升排名,速度:服务器响应时间与硬件配置百度最新的核心算法中……

    2026-07-26
    0
  • 机房T3等级是什么意思?,T3机房等级标准有哪些?

    机房T3等级,代表数据中心具备并行维护能力和N+1冗余架构,可用性达到99.982%级别,是当前企业托管业务的主流选择,什么是机房T3等级?核心定义与行业标准机房T3等级源自Uptime Institute的数据中心分级标准,也对应TIA-942的Rating 3等级,这个等级的核心特征就是可并行维护——在任意……

    2026-07-26
    0
  • 服务器SLA服务协议是什么有什么用,有哪些注意事项?

    服务器SLA服务协议是服务商与用户之间关于服务可用性、性能等方面的正式承诺,它直接决定了业务稳定性和运维成本,什么是服务器SLA服务协议服务器SLA(Service Level Agreement)是服务等级协议的缩写,在IDC和云服务领域,它是一份具有法律效力的合同附件,明确服务商必须提供的服务水平基准,这份……

    2026-07-26
    0
  • 站群服务器泛站和泛目录有什么区别?,怎么选

    泛站基于多个独立域名构建独立站点,泛目录则在同一域名下通过目录结构构建内容,这直接影响SEO权重分配和资源管理,什么是泛站和泛目录泛站模式泛站模式使用多个独立域名,每个域名部署独立网站,内容互不关联,这种结构下,每个站点各自积累SEO权重,适合需要大量外链或分散风险的场景,推广不同产品时,泛站能避免单一站点被处……

    2026-07-26
    0
  • 服务器防火墙硬件和软件哪个效果更好,怎么选

    在服务器防火墙的选型中,硬件防火墙与软件防火墙并非非此即彼,而是互补关系,对于追求高安全等级与稳定性的生产环境,采用硬件防火墙做网络层隔离,配合软件防火墙做主机层加固,是当前公认效果最好的组合方案,硬件防火墙与软件防火墙的核心差异性能与资源占用硬件防火墙依托专用ASIC芯片或FPGA处理数据包,转发延迟通常在微……

    2026-07-26
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注