java对接onvif摄像头获取流地址
鉴于网上文档千万,很多文章包括第三方jar包容易误导人,文档不全,也是实验了各种方法,总结一下,以便有一个更严谨的教程
导入maven依赖
这个是已经封装好,可以提供下载,很多其他第三方的包地址失效,这个地址确保可用
<dependency>
<groupId>be.teletask.onvif</groupId>
<artifactId>onvif</artifactId>
<version>1.0.0</version>
</dependency>
一、编码
public void idnex(String ip,String username,String password) {
try {
OnvifDevice device = new OnvifDevice(ip);
device.setUsername(username);
device.setPassword(password);
OnvifManager onvifManager = new OnvifManager();
//拿到对应的rtsp流地址
onvifManager.getMediaProfiles(device, (onvifDevice, list) -> {
if (!list.isEmpty()) {
onvifManager.getMediaStreams(device, list.get(0), (onvifDevice1, onvifMediaProfile, s)
-> System.out.println( "rtsp://" + username + ":" + password + "@" + s.replace("rtsp://", "")));
}else{
System.out.println("没有获取到数据");
}
});
}catch (Exception e){
e.printStackTrace();
}
二、结果
1.请求
总结
本实例亲测可用!!