ONVIF对讲功能漫谈
ONVIF对讲功能漫谈
- 前言
- 一、onvif对讲功能和onvif协议关系大吗?
- 二、如何上报设备支持onvif对讲功能呢?
- 三、onvif协议中哪个接口上报音频解码配置?
- 四、献上抓包报文:
前言
本篇文章尝试使用提问的方式来分享onvif对讲功能那点事。
一、onvif对讲功能和onvif协议关系大吗?
onvif对讲功能其实和onvif协议关系不大,对讲功能主要使用rtsp协议实现的,通过在DESCRIBE交互请求报文中携带Require: www.onvif.org/ver20/backchannel字段,代表客户端通过rtsp协议尝试请求建立双向连接,或着叫尝试建立具有数据反向通道的rtsp连接。具体报文如下:
从报文中能看到track4代表着音频,所以后续的请求都是围绕着track4来进行,同时interleaved=2-3;也表示着音频。
如果设备支持对讲功能,在DESCRIBE阶段会返回成功,如果不支持响应错误代码 551 Option not supported。然后,客户端可以尝试建立一个没有反向通道RTSP 连接。
二、如何上报设备支持onvif对讲功能呢?
这的确是一个问题,因为从官方文档中,并没有提及明确的onvif对讲能力集使用哪个接口那个字段进行上报,但在rtsp反向通道连接时,提到了如下描述:
从红色框出来的描述可以看出,跟音频能力上报有关,什么能力呢,上报的音频解码能力和支持的音频解码参数,就是说,设备支持语言对讲功能,其实是需要播放音频流,如果设备不支持音频输出功能,对讲就不用谈了,肯定支持不了。
三、onvif协议中哪个接口上报音频解码配置?
获取音频解码相关的接口有:GetAudioDecoderConfigurationOptions 、GetAudioDecoderConfigurations;
GetAudioDecoderConfigurationOptions 接口可以获取到设备音频解码支持的格式信息,比如音频格式、比特率、采样频率信息,可以根据这些信息进行判断。示例报文如下:
Request:POST /onvif/media2 HTTP/1.1
Host: 172.16.33.173
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 313<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope"><s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><GetAudioDecoderConfigurationOptions xmlns="http://www.onvif.org/ver20/media/wsdl" /></s:Body>
</s:Envelope>Request:POST /onvif/media2 HTTP/1相关文章:
ONVIF对讲功能漫谈
ONVIF对讲功能漫谈 前言一、onvif对讲功能和onvif协议关系大吗?二、如何上报设备支持onvif对讲功能呢?三、onvif协议中哪个接口上报音频解码配置?四、献上抓包报文:前言 本篇文章尝试使用提问的方式来分享onvif对讲功能那点事。 一、onvif对讲功能和onvif协议关系大吗? on…...
计算文本相似度
目录 Python中的difflib模块模块用法报告涉及的符号实现文本对比普通文本对比文本对比生成HTML报告 余弦相似度sklearn安装使用sklearn的余弦相似度词袋模型 Jaccard相似度编辑距离(Levenshtein距离)TF-IDFWord2VecDoc2VecBERT结论 Python中的difflib模块…...
oracle 增加控制文件
oracle 增加控制文件 1、看control_file路径 SQL> show parameter controlNAME TYPE VALUE ------------------------------------ ----------- ------------------------------ control_file_record_keep_time integer …...
OpenFeign超时时间设置不生效问题排查
最近升级springboot 3,突然发现配置文件中的openFeign的超时时间设置不生效了 之前配置如下: feign: client: config: default: connectTimeout: 3000 readTimeout: 5000 查资料都是说ribbon或者hystrix的超时时间设置问…...
Go和Java实现原型模式
Go和Java实现原型模式 下面将通过一个克隆的示例来说明原型模式的使用。 1、原型模式 原型模式是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对 象的最佳方式之一。 这种模式是实现了一个原型接口&am…...
linux I/O性能优化
Linux 文件系统 磁盘和文件系统的关系: 磁盘为系统提供了最基本的持久化存储。 文件系统则在磁盘的基础上,提供了一个用来管理文件的树状结构。 文件系统工作原理 索引节点和目录项 文件系统,本身是对存储设备上的文件,进行组织…...
PHP最简单自定义自己的框架model使用(七)
1、实现model使用效果 2、自动加载model,KJ.php //自动加载文件public static function _autoload($className){switch ($className){//自动model类case substr($className,-5)Model:$path MODEL./.$className..php;if(is_file($path)) include $path;break;//自动加载控制器…...
程序猿成长之路之密码学篇-分组密码加密模式及IV(偏移量)的详解
Cipher.getInstance("AES/ECB/PKCS5Padding"); Cipher cipher Cipher.getInstance("AES/CBC/PKCS5Padding"); 在进行加解密编程的时候应该有很多小伙伴接触过以上的语句,但是大伙儿在编码过程中是否了解过ECB/CBC的含义、区别以及PKCS5Padding…...
Windows下批处理删除文件
最近我使用Maven的时候会出现下载jar包不成功的现象,然后需要把它删除然后重新下载,但是有时候文件过多,一个个删除太花费时间,所以用bat的批处理会很舒服。 bat的语法我之前没遇到过,然后我是边学习边试验࿰…...
html中文件上传储存到本地路径
第一步:写html文件 <form action"/uplode" method"post" enctype"multipart/form-data">姓名:<input type"text" name"username"><br>年龄:<input type"text" name"age"><…...
第九章 SpringBoot 自动配置原理 入门
1. 引导加载自动配置类 SpringBootApplication -- SpringBootConfiguration -- EnableAutoConfiguration -- ComponentScan //SpringBootApplicationSpringBootConfiguration EnableAutoConfiguration ComponentScan(excludeFilters { Filter(type FilterType.CUSTOM, cl…...
String str=new String(“tango“) 创建了几个对象?
面试回答 创建的对象数 应该是1个或者2个。 首先要清楚什么是对象? Java 是一种面向对象的语言,而 Java 对象在 JVM 中的存储也是有一定的结构的,在 HotSpot 虚拟机中,存储的形式就是 oop-klass model,即 Java 对象模型…...
引入三阶失真的非线性放大器的模拟输出及使用中值滤波器去除峰值研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
【观察者设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
简介 观察者模式(Observer Pattern)是一种行为型模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式使用三个类Subject、Observer和Client。Subject…...
精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取
精细解析中文公司名称:智能分词工具助力地名、品牌名、行业词和后缀提取 中文公司名称分词工具,支持公司名称中的地名,品牌名(主词),行业词,公司名后缀提取。 对公司名文本解析,识…...
网络编程(JavaEE初阶系列10)
目录 前言: 1.网络编程的基础 1.1为什么需要网络编程 1.2什么是网络编程 1.3网络编程中的基本概念 1.3.1发送端和接收端 1.3.2请求和响应 1.3.3客户端和服务端 2.Socket套接字 2.1概念 2.2分类 3.UDP数据报套接字编程 3.1DataGramSocket API 3.2Datagr…...
Git常用的指令
Git常用的指令 OMMP提交代码的流程 0、配置: git config --list 查看当前配置 git congig --global user.name user 这个会显示你的提交到git的名字 格式:git config [–local|–global|–system] –unset section.key 格式:git config [–l…...
LoadRunner(2)
一、Controller 1.1场景设计 1.通过VUG打开 施压机器:发起请求的角色(用户本地电脑) 被压机器:处理请求的角色(服务器) 2.直接双击Controller 场景设计:需要关注三个部分 第一部分: 第二部分: 2.1运行场景…...
CTF之逆向之阿里巴巴
题目地址:http://www.shiyanbar.com/ctf/13 题目预览: 解题过程: 1、下载附件发现是exe文件 2、使用PEid和Detect It Easy查壳 和 开发语言,发现没有加壳,都是用C#开发的 3、C#和Java Python属于解释型语言ÿ…...
Labview控制APx(Audio Precision)进行测试测量(五)
驱动程序 VIs如何处理配置设置中的单元 APx500 应用程序具有复杂的控件,具有以下功能: 数值和单位组合在一个控制中(例如,1.000 Vrms ) •值转换为 SI 格式(例如,1.000 mVrms 或 1.000 μVrms) •单位之间的转换发生在控制(例如,V…...
当英雄联盟回放文件成为技术考古现场:ROFL播放器的多格式兼容挑战与解决方案
当英雄联盟回放文件成为技术考古现场:ROFL播放器的多格式兼容挑战与解决方案 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player …...
2026 年重启 BrowserID:开发者为定制应用打造 WKID 身份服务器
2026 年重启 BrowserID我正在构建 WKID(Wakamoleguy 的身份服务器),这是一个 [BrowserID](https://en.wikipedia.org/wiki/Mozilla_Persona) 风格的身份提供商(IdP),用于我为自己、朋友和家人开发的定制应用…...
Codex技能大揭秘:自动化工作流、多样功能及创建贡献指南!
超棒的Codex技能这是一份精心整理的实用Codex技能列表,可用于在Codex CLI和API中实现工作流自动化。想让技能的功能不止于生成文本?Codex可以发送邮件、创建问题、发布到Slack,还能在1000多个应用程序中执行操作。快速入门:为Code…...
Speech-AI-Forge:一站式语音AI集成开发与应用平台深度解析
1. 项目概述:一站式语音AI锻造工坊如果你正在寻找一个能让你快速上手、深度定制,并且集成了当前主流开源语音合成与识别模型的工具箱,那么Speech-AI-Forge就是你一直在等的那个“瑞士军刀”。这个项目本质上是一个围绕文本转语音(…...
Scrapy-Pinduoduo:拼多多电商数据采集终极指南
Scrapy-Pinduoduo:拼多多电商数据采集终极指南 【免费下载链接】scrapy-pinduoduo 拼多多爬虫,抓取拼多多热销商品信息和评论 项目地址: https://gitcode.com/gh_mirrors/sc/scrapy-pinduoduo 在当今电商竞争白热化的时代,拼多多数据采…...
机器学习不平衡分类问题:重采样技术详解与实践
1. 不平衡分类问题概述在机器学习实践中,我们经常会遇到类别分布严重不均衡的数据集。比如在信用卡欺诈检测中,正常交易可能占99.9%,而欺诈交易仅占0.1%。这种极端不平衡的数据分布会给模型训练带来显著挑战。传统分类算法在这种场景下往往表…...
告别格式烦恼:华科本科毕业论文LaTeX模板的3步高效排版方案
告别格式烦恼:华科本科毕业论文LaTeX模板的3步高效排版方案 【免费下载链接】HUSTPaperTemp 华中科技大学本科毕业论文LaTeX模板 2017 项目地址: https://gitcode.com/gh_mirrors/hu/HUSTPaperTemp 还在为毕业论文格式调整而头疼吗?华中科技大学本…...
从噪声系数到版图寄生:一个Cascode CG结构LNA的完整设计流程与仿真验证
从噪声系数到版图寄生:一个Cascode CG结构LNA的完整设计流程与仿真验证 在无线通信系统中,低噪声放大器(LNA)作为接收机前端的第一级有源电路,其性能直接影响整个系统的信噪比。Cascode共栅(CG)…...
从‘增删改查’到用户故事:PlantUML用例图实战,教你识别真正的系统功能边界
从用户目标到系统边界:用PlantUML用例图重构设计思维 在软件开发领域,我们常常陷入一种技术陷阱——把数据库的"增删改查"直接映射为系统功能,却忽略了用户真正的需求本质。这种功能分解式的设计思维,往往导致系统边界模…...
保姆级教程:手把手教你用Vector CANoe VT7001A给ECU供电(附CAPL脚本和Panel制作)
汽车电子测试实战:从零搭建VT7001A供电环境全流程指南 刚接触汽车电子测试的工程师,第一次看到VT7001A板卡时难免会感到无从下手——这块巴掌大的板子,既要给ECU供电,又要模拟各种故障场景,还要与CANoe软件联动。但别担…...

