WebRTC入门

news2024/10/1 22:04:58

主要参考资料:
WebRTC 在 ESP32 系列硬件平台上的实现: https://www.bilibili.com/video/BV1AEHseWEda/?spm_id_from=333.337.search-card.all.click&vd_source=dd284033cd0c4d1f3f59a2cd40ae4ef9
火山 RTC+豆包大模型,给用户体验装上银色子弹: https://mp.weixin.qq.com/s/tHeL6adH44U5b8i0V-YcQw

目录

  • 简介
  • WebRTC介绍
  • WebRTC与esp_rtc的区别

简介

早期的音频采集、处理和传输技术,主要依赖于 Websocket 这种通信方式。但这在实际使用中,有时会遇到一些问题,比如在网络环境复杂的情况下,可能会导致对话出现卡顿,或者在传输过程中丢失一些关键信息,这可能会造成对话内容的误解。另外,探索基于多模态大模型的智能场景感知和识别类应用场景,Websocket 也无法承接视频传输的扩展能力。

而豆包大模型,如今已经向 ChatGPT 对齐,传输已经采用了 RTC 技术。结合 RTC 实时音视频服务,可为应用提供更加自然和高效的交互体验。

WebRTC介绍

  • RTC Realtime Communication 实时传输
  • SDP Session Description Protocol 会话描述协议
  • DTLS Datagram Transport Layer Security® 数据包传输层安全
  • RTP Real-time Transport Protocol 实时传输协议
  • RTCP Real-time Transport Control Protocol 实时传输控制协议
  • SRTP Secure Real-time Transport Protocol 安全实时传输协议
  • SCTP Stream Control Transmission Protocol 流控制传输协议
  • ICE Interactive Connectivity Establishment 交互式连接建立
  • TURN Traversal Using Relays around
  • NATSTUN Session Traversal Utilities for NATNAT 会话遍历实用程序

WebRTC与esp_rtc的区别

ESP-RTC 方案基于乐鑫自研的 SIP(Session Initialization Protocol,会话初始协议)协议栈,实现了实时的音视频通信。协议栈包含传输层、事务层和会话层,其信令交互模块支持 UDP、TCP 和 TLS 三种方式,媒体传输模块支持 RTP (UDP)、RTCP、SRTP、TURN 等 NAT 透传协议。值得一提的是,ESP-RTC 方案还在传输模块中增加了弱网对抗算法,如 Jitter Buffer 和 PLC,有效解决了丢包、抖动、拥塞、延时等问题,能够充分保证音视频通信的流畅性与实时性。

在这里插入图片描述

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

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

相关文章

第九篇——数列和级数(二):传销骗局的数学原理

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 文章不长,但是道理深刻;相邻两个数的差值&#xf…

Prompt 模版解析:诗人角色的创意引导与实践

Prompt 模版解析:诗人角色的创意引导与实践 Prompt 模版作为一种结构化工具,旨在为特定角色——本例中的“诗人”——提供明确的指导和框架。这一模版详尽地描绘了诗人的职责、擅长的诗歌形式以及创作规则,使其能在自动化系统中更加精确地执…

咸鱼sign逆向分析与爬虫实现

目标:🐟的搜索商品接口 这个站异步有点多,好在代码没什么混淆。加密的sign值我们可以通过搜索找到位置 sign值通过k赋值,k则是字符串拼接后传入i函数加密 除了开头的aff…,后面的都是明文没什么好说的,我…

学习记录:js算法(五十):二叉树的右视图

文章目录 二叉树的右视图我的思路网上思路 总结 二叉树的右视图 给定一个二叉树的 根节点 root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。 图一: 示例 1:如图一 输入: [1,2,3,null,5,null,4] …

uni-app #ifdef #ifndef #endif的使用和区别

1. uni-app #ifdef #ifndef #endif的使用和区别 条件编译是一种在编程中根据特定平台选择性编译代码的技术。如#ifdef和#endif根据APP-PLUS平台标识在微信小程序、支付宝小程序、百度小程序、头条小程序、QQ小程序以及H5应用中实现代码的平台特定执行。下面介绍了如何使用#ifde…

基于Java+SpringBoot3+vue3+uniapp点餐/外卖管理系统设计与实现(视频讲解)

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

微服务sentinel解析部署使用全流程

sentinel源码地址: 介绍 alibaba/Sentinel Wiki GitHub sentinel官方文档: https://sentinelguard.io/zh-cn/docs/introduction.html Sprong Cloud alibaba Sentinel文档【小例子】 : Sentinel alibaba/spring-cloud-alibaba Wiki GitHub 目录 1、…

wsl(1) --- win11环境配置

1. 开启WSL可选功能 打开设置,点击应用,点击可选功能,点击更多Windows功能,查看是否开启了【适用于Linux的Windows子系统】和【虚拟机平台】 2. 更新wsl 不执行这步,启动wsl镜像时会出现WslRegisterDistribution f…

带徒实训项目实战讲义分享:ApiFirst文档对比功能页面开发2

前一篇:带徒实训项目实战讲义分享:ApiFirst文档对比功能页面开发 亲爱的学员朋友们好,本小节跟小卷一起来学习用thymeleaf模板技术来渲染数据模型到表格中,通过本小节的学习,你会真正将thymeleaf模板技术应用到实处&a…

JavaScript 全攻略:从基础到精通

一、JavaScript 初印象 (一)起源与发展 JavaScript 的诞生源于对网页动态性的需求。1995 年,布兰登・艾奇仅用十天时间就设计出了这门语言,最初命名为 Mocha,后改为 LiveScript,最终定名为 JavaScript。它…

OLED显示屏中常见的3-spi和4-spi

显示屏中经常出现的IIC,3-spi和4-spi 其中,在用spi接口中经常用到的是4-spi,和IIC相比,spi有更高的传输速度。而IIC需要更少的引脚。下面是以SH1107驱动手册里的内容简单了解3-spi和4-spi区别 从两张图中可以看出,3…

Vue2(十三):路由

一、路由的简介 vue-rooter:是vue的一个插件库,专门用来实现SPA应用 1.对SPA应用的理解 1、单页 Web 应用(single page web application,SPA)。 2、整个应用只有一个完整的页面 index.html。 3、点击页面中的导航链…

Hutool工具包

下载jar包网址 hutool-all-5.3.2.jar下载及Maven、Gradle引入代码&#xff0c;pom文件及包内class -时代Java (nowjava.com) maven导入 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.3.2&l…

PHP后台+基于微信小程序外卖点餐系统毕业设计源代码作品和开题报告

博主介绍&#xff1a;黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者&#xff0c;CSDN博客专家&#xff0c;在线教育专家&#xff0c;CSDN钻石讲师&#xff1b;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

Ansible学习之ansible-pull命令

想要知道ansible-pull是用来做什么的&#xff0c;就需要了解Ansible的工作模&#xff0c;Ansible的工作模式有两种&#xff1a; push模式 push推送&#xff0c;这是Ansible的默认模式&#xff0c;在主控机上编排好playbook文件&#xff0c;push到远程主机上来执行。pull模式 p…

一文搞懂CP-ABE,基于访问控制树的BSW方案原理分析与源码实现【基于C++、PBC库】

文章目录 一. 概述1.1 CP-ABE基础介绍1.2 访问控制树与BSW方案原理1.2.1 系统模型与角色1.2.2 主要算法1.2.3 访问结构与访问树1.2.4 数学基础 二. 具体算法流程2.1 Setup&#xff08;初始化&#xff09;2.2 KeyGen&#xff08;密钥生成&#xff09;2.3 Encrypt&#xff08;加密…

Typora---进度条(1)

本系列专门介绍关于typora中用到的小玩意。&#xff08;哈哈哈哈哈哈&#xff09; 本帖子讲述关于 进度条 的事情。 在typora中通过下面的语句可以显示出一个进度条&#xff1a; ![95% done](https://markdone.org/progress//95.png)通过更改上面语句中的数字可以展示不同的进…

local minima 的问题如何解决

&#x1f680; 在初始神经网络那一节&#xff08;链接如下&#xff1a;初识机器学习&#xff09;是遇到了两个问题&#xff0c;第一个是在求解函数未知参数数时会遇到local minima的问题&#xff0c;在哪里我们并没有过多解释&#xff0c;就是说一般遇不到并且很好解决&#xf…

合并两个有序数组(c语言)

1.//给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中&#xff0c;使合并后的数组同样按 非递减顺序 排列。 //注意&#xff1a;最终&#xff0c;合并后数…

Unity 2D RPG Kit 学习笔记

学习资料&#xff1a; B站教学视频&#xff1a;https://www.bilibili.com/video/BV1dC4y1o7A5?p1&vd_source707ec8983cc32e6e065d5496a7f79ee6 2D RPG Kit Documentation.pdf文档 1、2D RPG Kit Documentation文档 1.1、Scenes/TitleScreen 开始菜单工程 1.2、https://it…