NMS v3系列教程之 七、从NVR\IPC拉取监控画面

需求简介

目前使用监控摄像头可以做非常多的行业应用,我们的客户案例中,涵盖了幼儿园监控手机直播,远程课堂直播,重点监控单位中心监控与手机监控,抓娃娃机,宠物监控远程喂食,甚至还有远程投币祈福等等等等,没有做不到只有想不到。
而传统监控摄像头统一的协议标准是RTSP,而直播行业目前统一的标准是RTMP。要将两者结合起来最简单的方式,是通过ffmpeg命令输入rtsp,输出rtmp。将视频流分发到自建服务端或者直播云服务,再由各个客户端根据需求播放rtmp或在http-flv。
这种方式需要解决如下问题

  1. rtsp流地址生成与通道管理,各个厂商之间的流地址格式是不同的
  2. 进程调用的维护,错误处理与断线重连问题
  3. 原生rtmp协议不支持监控行业日益流行的H265视频
  4. 部分云服务和web客户端不支持监控设备常见的G.711音频

解决方案

  • NMS内置了一个Relay中继模块,可以通过web后台简单添加rtsp拉取任务,无需编写配置文件,无需重启服务。
  • 目前支持海康,大华,宇视直接配置参数创建拉取任务,后续会增加其他厂商的规则,如果您是监控厂商,想要在NMS中增加品牌RTSP规则,请直接与我们的商务服务联系。
  • 也支持自定义模式手动输入rtsp地址和rtmp地址。
  • 任务创建后,服务会立刻去执行,并且在web后台反馈状态信息。relay任务也会在输入或输出中一项断开后自动重连,并将relay任务写入本地数据库,在nms服务程序重启后继续执行,直到任务被删除。
  • relay模块支持H265编码推拉流,NMS也支持h265编码的RTMP协议

使用方法

一、创建海康,大华,宇视品牌relay中继任务

  1. 登录nms web后台管理页面 http://server_ip:8000/ ,默认用户名密码 admin admin,请记在config.ini中修改密码
  2. 点击左侧导航栏Relay,再点击右侧 Add Static Relay按钮
  3. 在弹出框中输入参数后点击Add按钮
  4. 若要让relay任务不拉取音频流,勾选DisableAudio
  5. 若要拉取该通道子码流,勾选SubStream
  6. 成功创建任务后,该页面会立刻出现任务信息,刷新页面观察任务状况

    Status值的定义: 0-任务停止 1-任务正在连接 2-任务成功正在传输 3-输入流错误 4-输出流错误
  7. 点击左侧导航菜单Strems,可在右侧看到中继任务在本地服务创建的流信息

    h.264视频可以点流名称直接预览,H.265视频暂时不能预览,后期会增加NodePlayer.js作为预览播放器。

二、创建自定义地址的relay中继任务

如果使用的是暂未支持的厂商设备或想要直接推送RTMP流到远端服务器,可以创建自定义地址任务。

  1. 同样是点击Add Static Relay按钮,在Vendor后选择Custom
  2. 填入rtsp输入地址和rtmp输出地址,点击Add添加任务
  3. 可以看到我们刚创建的自定义地址的relay中继任务,我们这里将流推送到了另一台ip是192.168.0.3的服务器
  4. 我们在另一台192.168.0.3服务器的Streams页面了可以观看到转推过来的流信息

三、创建中继任务规则,再将流转推到其他平台

  • 我们通过预置的品牌参数添加的relay中继任务,只会将rtmp流推送到本机NMS服务上。
  • 部分客户可能需要将流推送到公网或者推送到多台服务器上。
  • 如果采用自定义模式,那么可以实现拉一路rtsp,转一路rtmp,多路转推就需要拉多少路rtsp,这样会造成带宽浪费或者不足。

通过创建中继规则,可以解决上面的问题。

  1. 点击左侧导航栏Relays,右侧内容也切换标签到 Relay Rules, 点击Add Relay Rule按钮
  2. 我们希望所有推送到本机的流再转推到内网的192.168.0.3服务器上,并保持名称不变,只需要在Out_host里填上目标ip
  3. 我们还希望这个流同时推送到公网的阿里云直播上,保持名称不变,在Out_host上填上阿里云分配的推流域名,但由于我们在阿里云开启了推流鉴权,所以我们还需要在Out_Arg里填入鉴权规则模板,具体的规则说明情况请点击这里查看
  4. 我们可以在当前页面里查看到刚刚创建的规则列表
  5. relay规则创建完成后再创建relay任务,当推流发送时会触发规则匹配,将流推送到192.168.0.3和阿里云上,我们可以看到两条rtsp的relay任务,一共创建了4条转推任务,配置成功

原文档查看:http://www.nodemedia.cn/doc/web/#/5?page_id=21

原创文章,转载请注明: 转载自贝壳博客

本文链接地址: NMS v3系列教程之 七、从NVRIPC拉取监控画面

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据