ONVIF对讲功能漫谈

news2025/3/15 23:04:04

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/864570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows10中配置mmhuman3d

分类&#xff1a;动作捕捉 github地址&#xff1a;https://github.com/open-mmlab/mmhuman3d 所需环境&#xff1a;Windows10&#xff0c;CUDA11.6&#xff0c;conda 4.13.0&#xff0c;Visual Studio 2017 目录 一.新建Pytorch基本环境1.创建并激活环境2.安装ffmpeg3.安装 PyT…

21、stm32使用LTDC驱动LCD

注&#xff1a;本文基于stm32使用FMC驱动SDRAM(IS42S32800G-6BLI)工程继续开发 本例使用安富莱的H743XIH板子驱动LTDC点亮7寸LCD 硬件接线&#xff1a;RGB888 一、cubemx配置 1、LTDC配置 注意此引脚应于上面的硬件接线图一致 2、配置DMA2D 3、背光引脚和触摸引脚 4、时钟…

cpu使用率,CPU使用率指的是什么

目录 1、cpu使用率CPU使用率指的是什么&#xff1f; 2、cpu利用率100&#xff1f; 3、电脑CPU使用率居高不下&#xff1f; 4、cpu使用率100怎么恢复默认&#xff1f; 5、cpu使用率98&#xff1f; 1、cpu使用率CPU使用率指的是什么&#xff1f; CPU使用率其实就是运行的程…

SQL | 计算字段

7-创建计算字段 7.1-计算字段 存储在数据库中的数据一般不是我们所需要的字段格式&#xff0c; 需要公司名称&#xff0c;同时也需要公司地址&#xff0c;但是这两个数据存储在不同的列中。 省&#xff0c;市&#xff0c;县和邮政编码存储在不同的列中&#xff0c;但是当我们…

B056-Mybatis增强

目录 域对象&#xff08;domain&#xff09;之间的关系A 表结构上是如何设计关系的B 实体对象上是如何设计关系的回顾多表查询 结果映射多对一/一对一DomainDepartmentEmployee MapperEmployeeMapperEmployeeMapper_嵌套结果.xml&#xff08;推荐使用&#xff09;EmployeeMappe…

(4)各个属性角色分析显示-4

将折线图、数据集、散点图集合在一个html文件中&#xff1a; &#xff08;1&#xff09;将折线图、数据集、散点图设置为函数a()、b()、c()&#xff0c; &#xff08;2&#xff09;再调用page.add()函数&#xff0c;将三个图片组合在一起 &#xff08;3&#xff09;运行page.…

python sqlalchemy 动态设置表名__tablename__,一个model对应多个table

我们在上一篇中说明了&#xff0c;如何在.net core的efcore中动态设置表名。 本文讲述如何在sqlalchemy中动态设置表名&#xff0c;使多个table可以对应到一个model 表如下 code example from sqlalchemy import create_engine,Column,BigInteger,String from sqlalchemy.ext…

Java全开源电影票一站式购买平台程序研发

院线电影票H5用户端一站式订购平台设计 随着移动互联网的普及和快速发展&#xff0c;越来越多的用户开始使用手机端进行在线购票。为了满足用户更加便捷、快速地购买电影票&#xff0c;我们设计了一个院线电影票H5用户端一站式订购平台。该平台集成了多种功能&#xff0c;旨在…

腾讯云服务器地域有什么区别怎么选择?

腾讯云服务器地域有什么区别&#xff1f;怎么选择比较好&#xff1f;地域选择就近原则&#xff0c;距离地域越近网络延迟越低&#xff0c;速度越快。关于地域的选择还有很多因素&#xff0c;地域节点选择还要考虑到网络延迟速度方面、内网连接、是否需要备案、不同地域价格因素…

linux系统的压缩、解压详细用法,附代码举例(感觉别人写的都不够好)

文章目录 zipzip支持的选项有&#xff1a;-A 详细解释-d &#xff08;对压缩包操作&#xff09;-e &#xff08;对压缩文件加密&#xff09;-f&#xff08;只更新文件&#xff09;-g&#xff08;不显示压缩过程&#xff09;-r &#xff08;文件夹必选&#xff09;-u&#xff08…

ECRS工时分析:什么叫标准化作业管理?为什么要进行作业标准化管理

中国自古就有标准化。《孙子兵法》中&#xff0c;孙子训练射箭&#xff0c;射箭的姿势是“标准化操作”&#xff1b;中国武术中的套路是“标准化”&#xff1b;在中国古诗中&#xff0c;字数甚至被“标准化”来打开中国历史&#xff0c;“标准化”作业的例子数不胜数。 而在工厂…

[C语言]深入浅出,带你构建C语言宏观框架

导言&#xff1a; 本文章会带你基本了解C语言&#xff0c;对他有一个感性的认识&#xff0c;对其有一个框架&#xff0c;后期在对其进行更加细致的补充。 文章目录 C语言第一个函数变量局部变量 与 全局变量常量字符串 与 转义字符 头文件分支 与 循环注释数组关键字操作符宏指…

【学习FreeRTOS】第4章——FreeRTOS任务创建与删除

1.任务创建和删除的API函数 任务的创建和删除本质就是调用FreeRTOS的API函数 动态方式创建任务——xTaskCreate()静态方式创建任务——xTaskCreateStatic()删除任务——vTaskDelete() 动态创建任务&#xff1a;任务的任务控制块以及任务的栈空间所需的内存&#xff0c;均由 F…

美团研究院:2022年剧本娱乐行业发展报告(附下载)

关于报告的所有内容&#xff0c;公众【营销人星球】获取下载查看 核心观点 户外赛道本质上迎合了全球共性需求的增长&#xff0c;在全球普遍进入大规模城市化、市场经 随着居民收入水乎提高&#xff0c;中国消费者日益注重精神文化生活&#xff0c;文化娱乐成为人们重要的体闲…

Android的学习系列之Android Studio Setup安装

Android的学习系列之Android Studio Setup安装 [TOC](Android的学习系列之Android Studio Setup安装) 前言Android平台搭建总结 前言 还是项目需要&#xff0c;暂时搭建安卓的运行平台。 Android平台搭建 安装包 双击安装包&#xff0c;进入安装。 下一步 根据自己需求&a…

kinit报错 /etc/host.conf: line 3: bad command `nospoof on‘

kinit报错 /etc/host.conf: line 3: bad command nospoof on’ linux7.5不再支持nospoof命令了, 修改/etc/host.conf注释掉nospoof on即可。

chatGPT小白快速入门培训课程-001

一、前言 本文是《chatGPT小白快速入门培训课程》的第001篇文章&#xff0c;全部内容采用chatGPT和chatGPT开源平替软件生成。完整内容大纲详见&#xff1a;《chatGPT小白快速入门课程大纲》。 本系列文章&#xff0c;参与&#xff1a; AIGC征文活动 #AIGC技术创作内容征文# …

39 printf 的输出到设备层的调试

前言 在前面 printf 的调试 我们只是调试到了 glibc 调用系统调用, 封装了参数 stdout, 带输出的字符缓冲, 以及待输出字符长度 然后内核这边 只是到了 write 的系统调用, 并未向下细看 我们这里 稍微向下 细追一下, 看看 到达设备层面 这里是怎么具体的 impl 的 测试用例…

宋浩线性代数笔记(五)矩阵的对角化

本章的知识点难度和重要程度都是线代中当之无愧的T0级&#xff0c;对于各种杂碎的知识点&#xff0c;多做题复盘才能良好的掌握&#xff0c;良好掌握的关键点在于&#xff1a;所谓的性质A与性质B&#xff0c;是谁推导得谁~

【ultralytics仓库使用自己的数据集训练RT-DETR】

ultralytics仓库使用自己的数据集训练RT-DETR RT-DETR由百度开发&#xff0c;是一款尖端的端到端物体检测器&#xff08;基于transformer架构&#xff09;&#xff0c;在提供实时性能的同时保持高精度。它利用视觉变换器&#xff08;ViT&#xff09;的力量&#xff0c;通过解耦…