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

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

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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