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

 [[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

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

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