流媒体服务器SMS-语音对讲(二)

1.简介

        上篇文件介绍了流媒体与设备之间可能的交互场景,本文将介绍客户端或者web端与摄像头对讲的总体流程。

        老规矩,介绍一下本人的开源流媒体,点个star,有兴趣一起开发的朋友也可以联系本人:https://gitee.com/inyeme/simple-media-server

2.流程图

        本文以webrtc为例,其他的方式也可以,如websocket,tcp长连接等。

        主要流程:

  1. 用户在web端或者客户端点击语音对讲后: 1)触发信令接口,向摄像头发起对讲请求,将流媒体服务的ip,port以及协商的ssrc发给设备;2)与流媒体交互sdp(即rtc的offer和answer),获取流媒体的ip,port,ssrc等信息。注意,这两步没有严格先后顺序;客户端的rtc是发流和收流用同一个socket还是独立开来,看自己的业务;甚至摄像头发过来的语音可以丢掉,因为可以收听实时预览摄像头的流里的音频,看对讲业务与实时预览业务的实现情况而定
  2. 客户端向流媒体发送音频,流媒体通过ssrc识别出流id,注册到对讲管理对象里
  3. 摄像头向流媒体发送音频,流媒体通过ssrc识别出流id,注册到对讲管理对象里
  4. 对讲管理类,给注册到自己的媒体链接分配角色,如客户端的发送(接收)链接,摄像头的发送(接收)链接。将客户端的发送链接与摄像头的接收链接关联起来,反之也一样。这样音频数据就串起来了(多个接收和发送方时,可以用userid之类的,避免自己发送到自己就行)

3.时序图

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

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

相关文章

PostgreSQL的发布和订阅功能

发布和订阅功能在 PostgreSQL 9.0 版本中首次引入,并进一步改进和增强了后续版本中。所以,从 PostgreSQL 9.0 版本开始,就可以使用发布和订阅功能来实现数据复制和同步 发布和订阅功能在 PostgreSQL 中提供了一种灵活、可靠的数据复制和同步机制,具有许多优点和一些缺点:…

[数据集][目标检测]医疗防护服检测数据集VOC+YOLO格式649张7类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):649 标注数量(xml文件个数):649 标注数量(txt文件个数):649 标注类别…

echarts学习: 在图表中添加多条y轴会怎么样?

前言 在撰写如何绘制双y轴图表文章时,我突然萌生出了一个想法,如果给图表添加两个以上的y轴会怎么样呢? 带着这个问题我开始了自己的探索之旅。 我找到了一篇优秀的文章作为参考,虽然它需要付费,但是不要紧,文中免费…

Vulnhub-DC-4

靶机IP:192.168.20.138 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫下端口及版本 dirsearch扫下目录 没发现什么敏感信息,看下前端界面 想到会不会存在SQL注入,弱密码等漏洞。 经过测试SQL注入…

k8s网络问题以及容器跨宿主机通信原理

【0】资源配置文件 [rootmcwk8s03 mcwtest]# ls mcwdeploy.yaml [rootmcwk8s03 mcwtest]# cat mcwdeploy.yaml apiVersion: apps/v1 kind: Deployment metadata:labels:app: mcwpythonname: mcwtest-deploy spec:replicas: 1selector:matchLabels:app: mcwpythontemplate:met…

Linux进程间通信之管道

进程间通信介绍: 进程间通信的概念: 进程间通信简称IPC(Interprocess communication),进程间通信就是在不同进程之间传播或交换信息。 进程间通信的目的: 数据传输: 一个进程需要将它的数据…

开源WebGIS全流程常用技术栈

1 数据生产 1.1 uDig uDig(http://udig.refractions.net/)是一个基于Java开源的桌面应用框架,它构建在Eclipse RCP和GeoTools(一个开源的Java GIS包)上。可以进行shp格式地图文件的编辑和查看;是一个开源空间数据查看…

​在哪些场景下,使用SOCKS5代理会特别有用?(socks5代理ip)​

SOCKS5代理作为网络协议转换的利器,其独特功能在众多实际场景中展现出了极大的价值。以下是几个特定场景,其中SOCKS5代理的使用将变得尤为重要: 一、网络安全与隐私访问 1.高级渗透测试:在网络安全领域,渗透测试人员…

Java 异常处理 - 自定义异常

在Java中,自定义异常是一种创建新异常类的方式,这些异常类继承自Throwable类或其子类Exception(或RuntimeException,如果它是运行时异常的话)。自定义异常通常用于描述特定于应用程序的错误情况,以便为调用…

MS21112S单通道 LVDS 差分线路接收器

MS21112S 是一款单通道低压差分信号 (LVDS) 线 路接收器。在输入共模电压范围内,差分接收器可以 将 100mV 的差分输入电压转换成有效的逻辑输出。 该芯片可应用于 100Ω 的受控阻抗介质上,进行点对 点基带数据传输。传输介质可以是印刷电路板、…

配音方面目前可以用AIGC替代吗?( 计育韬老师高校公益巡讲答疑实录2024)

这是计育韬老师第 8 次开展面向全国高校的新媒体技术公益巡讲活动了。而在每场讲座尾声,互动答疑环节往往反映了高校师生当前最普遍的运营困境,特此计老师在现场即兴答疑之外,会尽量选择有较高价值的提问进行文字答疑梳理。 *本轮巡讲主题除了…

360误删掉的文件怎么恢复?3种文件找回办法!

360是一款电脑安全辅助软件,可以用它来清理垃圾、查杀病毒、修复系统等。然而,有时文件可能会被360误认为是垃圾而自动清理,造成重要文件丢失,那么360删掉的文件怎么恢复?下面,让我们一起来看看如何恢复文件…

三维点云拟合平面推导及源代码C++

1、背景介绍 实际中,很多人工构造物是由平面结构构造而成,如下图所示,为一典型的由多个平面组成的人工构筑物。因此,根据离散点拟合成平面,获取拟合平面方程,是点云数据处理中非常常见的数据处理操作。 2、平面拟合参数推导 基于若离散点,估算平面方程过程如下: 3、程序…

电子设计教学新篇章:SmartEDA引领学校教学升级风潮

在数字化时代的浪潮中,电子设计教学领域正迎来一场革命性的变革。SmartEDA,作为电子设计课程的新宠,以其高效、智能的特性,正成为学校教学升级的重要推手。它不仅极大地提升了电子设计的效率,还为学生们带来了更为深入…

ChatGPT-4o提示词的九大酷炫用法,你知道几个?

ChatGPT-4o提示词的九大酷炫用法,你知道几个?🚀 博主猫头虎的技术世界 🌟 欢迎来到猫头虎的博客 — 探索技术的无限可能! 专栏链接: 🔗 精选专栏: 《面试题大全》 — 面试准备的宝典…

xstream运用,JAVA对象转xml,xml转JAVA对象

目录 xstream 优点: 缺点: XStream的应用场景 用到的依赖 代码实现 xml标签对应的实体类 Header Package Request Response TradeInfo 工具类 XmlUtils 执行结果 xstream XStream是一个Java类库,主要用于将对象序列化为XML&#xf…

OV通配符ssl证书是什么

通配符https证书的产品比较丰富,为了方便区分,可以按照验证方式将通配符https证书分为DV基础型通配符https证书和OV企业型通配符https证书两种。其中OV通配符https证书申请条件高,审核也比较严格,相比于DV基础型通配符https证书&a…

IPv4 和 IPv6 是什么意思?它们之间的区别都有哪些?

什么是 IPv4 和 IPv6 什么是 IPv4 和 IPv6 呢?下面我们就来了解一下。 IPv4 就是互联网协议第 4 版,是目前广泛使用的网络协议版本。它由互联网工程任务组(IETF)在 1981 年开发完成。IPv4 使用 32 位地址,允许大约 4…

推荐系统三十六式学习笔记:原理篇.近邻推荐07|人以群分,你是什么人就看到什么世界

目录 协同过滤基于用户的协同过滤背后的思想原理实践1、构造矩阵2、相似度计算3、推荐计算4、一些改进 应用场景:总结 谈及推荐系统,不得不说大名鼎鼎的协同过滤。协同过滤的重点在于协同,所谓协同,也就是群体互帮互助&#xff0c…