Atitit onvif协议获取rtsp地址播放java语言attilx总结

1.1.获取rtsp地址的算法与流程1

1.2.Onvif摄像头的发现,ws的发现机制,使用xcf类库1

2.调用getStreamUri 获得rtsp地址 ,使用类库ONVIF Java Library by Milgo2

2.1.问题为什么使用这个得到的地址不能播放4

1.1. 获取rtsp地址的算法与流程 

动态发现onvif设备

调用getProfiles  获取Profile列表,

调用getStreamUri 获得rtsp地址( 使用Profile参数)

1.2. Onvif摄像头的发现,ws的发现机制,使用xcf类库

Onvif协议建立在webservice协议基础上。他的发现机制就是ws的发现机制。。

import java.util.List;

import javax.xml.ws.EndpointReference;

import org.apache.cxf.ws.discovery.WSDiscoveryClient;

public class Main

{

public static void main(String[] args)

{

WSDiscoveryClient client = new WSDiscoveryClient();

client.setVersion10(); // use WS-discovery 1.0

client.setDefaultProbeTimeout(1000); // timeout 1s

System.out.println("Probe:" + client.getAddress());

List<EndpointReference> references = client.probe();

System.out.println("Nb answsers:" + references.size());

for (EndpointReference ref : references)

{

System.out.println(ref.toString());

}

}

}

Probe is :soap.udp://239.255.255.250:3702

Nb answsers:1

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EndpointReference xmlns="http://www.w3.org/2005/08/addressing"><Address>http://192.168.31.144:10080/onvif/device_service</Address><ReferenceParameters/></EndpointReference>

返回的ws服务地址  http://192.168.31.144:10080/onvif/device_service

2. 调用getStreamUri 获得rtsp地址 ,使用类库ONVIF Java Library by Milgo

根据上异步获得的ws服务地址,提取ip,port。。调用getStreamUri 获得rtsp地址

返回的rtsp地址  rtsp://192.168.31.144:10554/tcp/av0_0

package com.attilax.video;

/**

*@author attilax

*2016年12月21日 下午10:38:11

*/

import java.io.IOException;

import java.net.ConnectException;

import java.util.List;

import javax.xml.soap.SOAPException;

import org.onvif.ver10.media.wsdl.GetStreamUri;

import org.onvif.ver10.media.wsdl.GetStreamUriResponse;

import org.onvif.ver10.schema.Profile;

import org.onvif.ver10.schema.StreamSetup;

import org.onvif.ver10.schema.Transport;

import de.onvif.soap.OnvifDevice;

public class OnvifTest {

public static void main(String[] args) {

// org.apache.commons.codec.binary.Base64

// org.apache.commons.codec.binary.Base64

try {

// OnvifDevicenvt = new OnvifDevice("192.168.0.20", "admin",

// "password");

OnvifDevice nvt = new OnvifDevice("192.168.31.144:10080", "", "");

List<Profile> profiles = nvt.getDevices().getProfiles();

for (Profile profile : profiles) {

// String profileToken = profiles.get(0).getToken();

System.out.println(profile);

}

// System.out.println("Snapshot URI: "+nvt.getMedia().getSnapshotUri(profileToken));

String profileToken = profiles.get(0).getToken();  //PROFILE_000

StreamSetup streamSetup = new StreamSetup();

String getStreamUri = nvt.getMedia().getStreamUri(profileToken, streamSetup);

System.out.println("getStreamUri:" + getStreamUri);

catch (ConnectException e) {

System.err.println("Could not connect to NVT.");

catch (SOAPException e) {

e.printStackTrace();

}

}

2.1. 问题为什么使用这个得到的地址不能播放

返回的rtsp地址  rtsp://192.168.31.144:10554/tcp/av0_0

使用VLC播放器和onvif测试工具都不能播放。。设备也没有设置用户名密码的。

作者:: 绰号:老哇的爪子claw of Eagle 偶像破坏者Iconoclast image-smasher

捕鸟王"Bird Catcher 王中之王King of Kings 虔诚者Pious 宗教信仰捍卫者 Defender Of the Faith. 卡拉卡拉红斗篷 Caracalla red cloak

简称:: Emir Attilax Akbar 埃米尔 阿提拉克斯 阿克巴

全名::Emir Attilax Akbar bin Mahmud bin  attila bin Solomon bin adam Al Rapanui 埃米尔阿提拉克斯 阿克巴本 马哈茂德 本阿提拉 本 所罗门 本亚当  阿尔 拉帕努伊

常用名:艾提拉(艾龙), EMAIL:1466519819@qq.com

头衔:uke总部o2o负责人,全球网格化项目创始人,

uke宗教与文化融合事务部部长, uke宗教改革委员会副主席

,Uke部落首席大酋长,

uke制度与重大会议委员会委员长,uke保安部首席大队长,uke制度检查委员会副会长,

奶牛科技cto ,uke 首席cto

uke波利尼西亚区大区连锁负责人,克尔格伦群岛区连锁负责人,莱恩群岛区连锁负责人,uke汤加王国区域负责人。布维岛和南乔治亚和南桑威奇群岛大区连锁负责人

Uke软件标准化协会理事长理事长 uke终身教育学校副校长

Uke 数据库与存储标准化协会副会长 uke出版社编辑总编

Uke医院方面的创始人

转载请注明来源:attilax的专栏  ?http://blog.csdn.net/attilax

--Atiend

Atitit onvif协议获取rtsp地址播放java语言attilx总结相关推荐

  1. Atitit onvif协议获取rtsp地址播放java语言 attilx总结

    Atitit onvif协议获取rtsp地址播放java语言 attilx总结 1.1. 获取rtsp地址的算法与流程1 1.2. Onvif摄像头的发现,ws的发现机制,使用xcf类库1 2. 调用 ...

  2. ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)

    概要:   目前ONVIF协议家族设备已占据数字监控行业半壁江山以上,亲,作为开发者的你还在犹豫是否了解下吗?本文介绍了ONVIF客户端从设备搜索,鉴权,能力获取,媒体信息获取,URI地址获取的整套流 ...

  3. 【视频开发】ONVIF客户端搜索设备获取rtsp地址开发笔记(精华篇)

    转载地址:http://blog.csdn.net/gubenpeiyuan/article/details/25618177 概要:           目前ONVIF协议家族设备已占据数字监控行业 ...

  4. ONVIFclient搜索设备获取rtsp地址开发笔记(精华篇)

    概要: 眼下ONVIF协议家族设备已占领数字监控行业半壁江山以上,亲,作为开发人员的你还在犹豫是否了解下吗?本文介绍了ONVIFclient从设备搜索.鉴权,能力获取,媒体信息获取.URI地址获取的整 ...

  5. android dhcp 服务器,安卓通过DHCP协议获取IP地址的过程

    安卓通过DHCP协议的DORA Discovery发现 Offer提供 Request请求 Ack确认 获取IP地址的过程 安卓N之前 5.0 6.0通过 android_net_utils_runD ...

  6. arp协议获取mac地址,同网段和不同网段。

    arp协议属于OSI模型第二层(数据链路层) 计算机实现网络通信在数据链路层发送数据帧(链路层数据包)实现通讯.而数据帧要发送到目标计算机需要知道,发送端的ip地址和mac地址还有接收端的ip地址和m ...

  7. 3.onvif实现获取RTMP地址完整流程

    获取摄像头推流地址 前面介绍了怎么来发现设备,接下来该介绍怎么来获取摄像头的推流地址,这也是项目需求,得到推流地址后就可以使用ffmpeg来拉去视频流,并推送到云端 先来看一下这个流程 probe:设 ...

  8. java 获取ip地址 公网,java获取公网ip地址操作

    获取公网ip地址操作 import javax.servlet.http.HttpServletRequest; /** * * 获取公网ip地址操作 * @ClassNmae:NewClass * ...

  9. android 获取堆栈地址,关于java native interface:如何捕获SIGSEGV(分段错误)并在Android下的JNI下获取堆栈跟踪?...

    我正在将一个项目转移到新的Android本机开发工具包(即JNI)中,我想捕获sigsegv,如果它发生(也可能是sigill.sigabrt.sigfpe),以便呈现一个很好的崩溃报告对话框,而不是 ...

  10. snmp 获取防火墙mac_通过snmp协议获取mac地址

    -if)# ip access-group 106 in B:通过TCP截获防范.(这会给路由器产生一定负载) Router(Config)# ip tcp intercept list 107 Ro ...

最新文章

  1. shell脚本中判断上一个命令是否执行成功
  2. CSS将长文字换行的方法 (转)
  3. vs发生生成错误_S7报告系统错误:
  4. Variational Bayes
  5. Hugo + github 搭建个人博客
  6. 艾伟:【翻译】使用ASP.NET 2.0记录错误
  7. xcode 4.5 new feature __ ios6 新特性 (转)
  8. Effective Java之用enum代替int常量(三十)
  9. ElasticSearch评分分析 explian 解释和一些查询理解
  10. git bash 风格调整
  11. 斑马无线打印服务器,如何设置斑马打印机无线WiFi
  12. 新闻发布项目——数据库脚本(直接导入即可)
  13. android中虚拟程序停止,为什么我的在虚拟机运行后出现应用程序停止运行
  14. ArcgisPro3.0-3.0.1中文安装包下载及安装教程
  15. 仿斗鱼、美团、网易邮箱等 弹窗效果
  16. python实时读取串口数据_串口的数据采集、以及数据的实时显示
  17. c语言小名,男女宝宝小名大全
  18. Camera 图像处理原理分析- 色彩篇 一
  19. 让创意设计更加简单:在线设计平台Canva登陆中国
  20. 2017计算机二级ms office高级应用成绩查询

热门文章

  1. PHP图片水印右下角,php图片水印处理
  2. [译] Redux vs. React 的 Context API
  3. 【C++】 53_被遗弃的多重继承 (上)
  4. BZOJ2555:SubString(SAM,LCT)
  5. 读写Word的组件DocX介绍与入门
  6. CSS 相邻选择器(七)
  7. 如何开拓中国EDM市场
  8. 构建高性能.NET应用之配置高可用IIS服务器-第三篇 IIS中三个核心组件的讲解(上)...
  9. springboot - 应用实践(3)springboot的核心
  10. mongodb添加登陆验证