近期工作中需要开发一套视频监控系统,实现WEB端、手机APP端预览局域网内的道路监控摄像机,我负责一些后台服务的开发工作。

由于之前项目中的程序都是采用私有协议、各摄像机厂商的SDK进行视频监控系统开发,这种技术方案更适合C/S架构的系统,应用于此次项目存在先天性不足,即手机APP端无法加载摄像机厂商的播放库,无法满足项目需求。另外原有的技术方案,导致WEB端的播放控件非常臃肿,且浏览器兼容性不佳。

鉴于以上原因,我开始寻求一套新的技术方案,在同事的推荐下发现了EasyDarwin开源项目。EasyDarwin让我心里一阵激动,原来国内有这么棒的流媒体开源项目。不但有对各子项目详细的说明、图纸,代码编写也非常规范,而且维护较好,更新率非常高。所以决定好好学习一下。

我选择由EasyIPCamera_RTSP入手。官方介绍此工程以其他IPC硬件(海康、大华、雄迈)提供的RTSP流作为EasyIPCamera的数据源,对外提供RTSPServer功能。即这个程序可以作为一个简单的RTSP服务、并且提供流媒体转发的功能,与我的实际需求较为相近。为了能够编译运行程序,我首先升级安装了VS2010环境(由于公司要求之前一直使用VS2008)。

这个项目的编译还是非常简单的,一次性编译通过。生成的EasyIPCamera_RTSP.exe运行依赖libEasyIPCamera.dll和libEasyRTSPClient.dll两个动态库。前者我理解为一个RTSP和流媒体转发的服务,后者应当起到RTSP客户端的作用,这两个库的源代码,没有在GitHub中找到。

EasyIPCamera_RTSP程序中,主要分以下几步实现:

1)首先通过源代码写死的方式,初始化了两个通道对象,代表两个前端IPC的rtsp串信息。这里我将通道对象改为4个,并在初始化通道对象时,将项目中的海康、大华、宇视等品牌的摄像机信息填入。

2)然后程序激活RTSP客户端,用于向前端IPC取流。

3)启动RTSP和流媒体转发的服务,侦听端口为8554,以回调形式侦听客户端请求。当有通道视频请求时,根据通道信息初始化对应的RTSP客户端,并将取出的视频流转发至请求客户端使用。

重新编译后运行,通过VLC播放器测试效果(打开网络串流,输入URL
rtsp://IP:8554/1,此处的通道号由1开始)。经验证海康、大华、宇视的摄像机(均为道路监控、高清球型摄像机)均能够正常地预览。期间遇到了一个小问题,即大华摄像机预览失败,经Babosa协助,更新了libEasyRTSPClient.dll库后成功解决。貌似是因为rtsp串中对大华设备授权识别未成功,导致IPC无法正常响应码流格式等信息。

如上,使用EasyIPCamera可以非常简单地实现对前端摄像机RTSP取流。

下图是预览海康摄像机的截图:

【视频开发】EasyIPCamera通过RTSP协议接入海康、大华等摄像机,摒弃私有SDK接入弊端的更多相关文章

  1. EasyIPCamera通过RTSP协议接入海康、大华等摄像机,摒弃私有SDK接入弊端

    本文转自博客:http://blog.csdn.net/xinlanbobo/article/details/53156742 近期工作中需要开发一套视频监控系统,实现WEB端.手机APP端预览局域网 ...

  2. 海康&大华&DSS视频拉流-RTSP转RTMP多媒体播放技术

    海康&大华&DSS获取RTSP 实时流 海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/ ...

  3. 来自iSpy整理的最全海康大华IPC的RTSP连接地址

    来自iSpy整理的最全海康大华IPC的RTSP连接地址 先贴出处: 海康:http://www.ispyconnect.com/man.aspx?n=Hikvision 大华:http://www.i ...

  4. 浏览器低延时播放监控摄像头RTSP海康大华硬盘录像机NVR视频(EasyNVR播放FLV视频流)

    背景描述 EasyNVR的使用者应该都是清楚的知道,EasyNVR一个强大的功能就是可以进行全平台的无插件直播.主要原因在于rtsp协议的视频流(默认是需要插件才可以播放的)经由EasyNVR处理后可 ...

  5. RTSP安防摄像机(海康大华宇视等)如何推送到RTMP流媒体服务器进行直播

    方案介绍 目前互联网直播的CDN和标准RTMP流媒体服务器通常只能接收RTMP格式的音视频推流.目前市场上有一些自带RTMP推流的摄像机和编码器,可以直接在其rtmp推流配置里面配置推送到RTMP流媒 ...

  6. EasyPlayer播放海康大华RTSP流时RTSPClient客户端连接兼容问题的解决

    在之前的博客<EasyPlayer RTSP播放器对RTSP播放地址url的通用兼容修改意见>中,我描述了遇到的一个客户在播放大华某款摄像机时地址不兼容的问题,这不,团队刚刚参考我的这个意 ...

  7. 海康/大华 IpCamera RTSP地址和格式

    海康:rtsp://[username]:[password]@[ip]:[port]/[codec]/[channel]/[subtype]/av_stream说明:username: 用户名.例如 ...

  8. 海康大华RTSP格式

    海康实时流:rtsp://admin:12345@192.2.82.50:554/h264/ch4/main/av_stream海康回放流(模拟通道):rtsp://admin:12345@192.2 ...

  9. 将海康大华等网络摄像机RTSP流进行网页Flash rtmp和H5 hls直播的技术方案

    前言 再小的技术点也会有他的市场! 一直以来,都有一些不被看好,认为是成本太高,无法大规模展开的软件和产品形态,就好比每一座城市都会有他的著名小吃一样,即使是慕名而来的人源源不断,受众群体也总是有限, ...

随机推荐

  1. es6 字符串模板拼接和传统字符串拼接

    字符串拼接是在日常开发中必不可少的一个环节. 注意:字符串可以用单引号'',或者""双引号,出于方便大家理解,文章以下内容统一使用单引号''! 如果只是一个字符串和一个变量拼接,使 ...

  2. 项目Alpha冲刺(团队)-总结篇

    格式描述 课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队)-代码规范.冲刺任务与计划 团队名称:为了交项目干杯 作业目标:描述项目预期计划.现实进展.过程体会.组员分工 ...

  3. Touch事件 移动端touch触摸事件

    <!-- HTML5 --> <!DOCTYPE html> <html> <head> <title>TouchEvent测试</t ...

  4. SpringMVC_原理(转)

    在整个Spring MVC框架中,DispatcherServlet处于核心位置,它负责协调和组织不同组件完成请求处理并返回响应的工作.具体流程为:1)客户端发送http请求,web应用服务器接收到这 ...

  5. 修改Tomcat启动窗口的名称(Title)

    内容简介 有时在运行项目时,在同一服务器会启动多个Tomcat,很难区分某个tomcat运行的是哪个项目,或者想查看tomcat的端口号,只能去server.xml中查看. 如果能把Tomcat窗口的 ...

  6. .net core 根据已有数据库创建实体Model

    这三个引用需要与.net core 版本一致,否则后续其他操作时会出错 可以到NuGET包中找到对应的版本然后添加,或者使用一下语句将版本号修改为.net core对应的版本然后执行 Install- ...

  7. Web API design

    Web API design 28 minutes to read Most modern web applications expose APIs that clients can use to i ...

  8. virtualenvwrapper 方便的virtualenv 包装

      virtualenvwrapper 是一个方便的virtualenv 包装我们可以用来方便的管理python 的开发环境,同时 也支持对于项目的管理 安装 pip 安装 pip install v ...

  9. 完美兼容IE10以下所有版本

    IE一直是个恶心东西 各种不支持 现在发现了个好东西可以兼容ie10以下所有浏览器 <!--[if lte IE 9]><script>window.location.href ...

  10. 56、Spark Streaming: transform以及实时黑名单过滤案例实战

    一.transform以及实时黑名单过滤案例实战 1.概述 transform操作,应用在DStream上时,可以用于执行任意的RDD到RDD的转换操作.它可以用于实现,DStream API中所没有 ...