Onvif摄像头转GB28181

内网中的摄像头需要注册到GB28181平台,摄像头由于比较老旧,不支持GB28181协议,我们可以通过北极星通流媒体系统BMS来实现rtsp协议到GB28181平台的对接。
摄像头若支持Onvif协议,可通过BMS自带的Onvif Client功能,扫描出摄像头并自动获取摄像头的rtsp地址流,保存为频道 即可把摄像头在BMS中建立了对于的流频道。
若摄像头不支持Onvif协议,我们需要通过BMS创建一个拉rtsp流的频道,BMS内嵌多种拉rtsp协议的方式及引擎,支持FFMPEG-API拉流(只要ffmpeg能拉到的rtsp地址,都可被频道使用),支持只拉视频或者音频。
当频道建立后,如下图:我们创建了live/live1和live/push两个频道。其中live/push来自于rtmp编码器推上了的流,live/live1来自于拉的rtsp流。

频道创建完成后,在“设备管理”-》“国标设备”中设置需要注册到的国标平台的信息。如图:

然后在“通道列表”中添加要注册到国标平台的频道。如下图:

之后就可以在国标平台观看BMS上的直播流了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
可以使用开源的ONVIF Device Manager库来实现Spring Boot与Onvif协议的整合控制海康摄像头动。 以下是实现步骤: 1. 在pom.xml文件中引入ONVIF Device Manager依赖: ```xml <dependency> <groupId>com.github.onvif</groupId> <artifactId>onvif-device-manager</artifactId> <version>${onvif.device.manager.version}</version> </dependency> ``` 2. 创建一个OnvifService类,用于调用Onvif Device Manager库的API: ```java @Service public class OnvifService { private static final Logger logger = LoggerFactory.getLogger(OnvifService.class); @Autowired private OnvifDeviceManager onvifDeviceManager; /** * 获取设备信息 * @param ipAddress 设备IP地址 * @param username 用户名 * @param password 密码 * @return 设备信息 * @throws ConnectException 连接异常 * @throws SOAPException SOAP异常 * @throws IOException IO异常 */ public OnvifDeviceInfo getDeviceInfo(String ipAddress, String username, String password) throws ConnectException, SOAPException, IOException { OnvifCamera onvifCamera = onvifDeviceManager.getOnvifCamera(ipAddress, username, password); if (onvifCamera == null) { return null; } return new OnvifDeviceInfo(onvifCamera.getHostname(), onvifCamera.getManufacturer(), onvifCamera.getModel(), onvifCamera.getFirmwareVersion()); } /** * 控制云台动 * @param ipAddress 设备IP地址 * @param username 用户名 * @param password 密码 * @param tilt 垂直方向动速度 * @param pan 水平方向动速度 * @throws ConnectException 连接异常 * @throws SOAPException SOAP异常 * @throws IOException IO异常 */ public void move(String ipAddress, String username, String password, float tilt, float pan) throws ConnectException, SOAPException, IOException { OnvifCamera onvifCamera = onvifDeviceManager.getOnvifCamera(ipAddress, username, password); if (onvifCamera == null) { return; } OnvifPTZ ptz = onvifCamera.getPtz(); if (ptz == null) { return; } ptz.move(tilt, pan); } } ``` 3. 在Controller中注入OnvifService类,调用其API实现控制海康摄像头动: ```java @RestController @RequestMapping("camera") public class CameraController { @Autowired private OnvifService onvifService; /** * 获取设备信息 * @param ipAddress 设备IP地址 * @param username 用户名 * @param password 密码 * @return 设备信息 */ @GetMapping("info") public OnvifDeviceInfo getDeviceInfo(String ipAddress, String username, String password) { try { return onvifService.getDeviceInfo(ipAddress, username, password); } catch (ConnectException | SOAPException | IOException e) { e.printStackTrace(); return null; } } /** * 控制云台动 * @param ipAddress 设备IP地址 * @param username 用户名 * @param password 密码 * @param tilt 垂直方向动速度 * @param pan 水平方向动速度 */ @PostMapping("move") public void move(String ipAddress, String username, String password, float tilt, float pan) { try { onvifService.move(ipAddress, username, password, tilt, pan); } catch (ConnectException | SOAPException | IOException e) { e.printStackTrace(); } } } ``` 以上就是使用Spring Boot整合Onvif协议控制海康摄像头动的实现步骤。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值