当前位置: 首页 > news >正文

【机器学习】机器学习的基本分类-无监督学习-主成分分析(PCA:Principal Component Analysis)

主成分分析(Principal Component Analysis, PCA)

主成分分析(PCA)是一种常用的降维技术,用于将高维数据投影到低维空间,同时尽可能保留原数据的主要信息(方差)。


1. PCA 的核心思想

  1. 目标:找到新的坐标轴(主成分),使得数据投影到这些轴上的方差最大化。
  2. 主成分:数据的主要变化方向。第一个主成分捕获最多的方差,第二个主成分与第一个正交,捕获剩余的最大方差,依此类推。
  3. 降维:选取前 k 个主成分,舍弃次要主成分,达到数据压缩的目的。

2. PCA 的步骤

步骤 1:标准化数据
  • 数据集的不同特征可能具有不同的量纲和尺度,标准化将每个特征的均值设为 0,标准差设为 1:

jz_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j}

其中,\mu_j 是特征 j 的均值,\sigma_j 是特征 j 的标准差。

步骤 2:计算协方差矩阵
  • 协方差矩阵表示各特征之间的线性关系:

\mathbf{C} = \frac{1}{n-1} \mathbf{Z}^\top \mathbf{Z}

其中,\mathbf{Z} 是标准化后的数据矩阵。

步骤 3:计算特征值和特征向量
  • 解出协方差矩阵的特征值 \lambda 和对应的特征向量 \mathbf{v},特征向量表示主成分的方向,特征值表示对应的方差大小。
步骤 4:选择主成分
  • 按特征值从大到小排序,选择前 k 个最大的特征值对应的特征向量。
步骤 5:投影数据到主成分空间
  • 将原数据投影到选择的主成分方向:

\mathbf{Y} = \mathbf{Z} \mathbf{V}_k

其中,\mathbf{V}_k​ 是由前 k 个特征向量构成的矩阵。


3. 数学推导

最大化方差
  • 假设投影方向为单位向量 \mathbf{v},投影后的数据方差为:

\mathrm{Var}(\mathbf{v}) = \mathbf{v}^\top \mathbf{C} \mathbf{v}

  • 通过拉格朗日乘数法,约束 \|\mathbf{v}\|^2 = 1,得优化问题:

\max_{\mathbf{v}} \mathbf{v}^\top \mathbf{C} \mathbf{v}, \quad \text{subject to } \|\mathbf{v}\|^2 = 1

解得 \mathbf{v} 为协方差矩阵 \mathbf{C} 的特征向量,最大方差为对应的特征值。


4. 特点

优点
  1. 降维:减少数据维度,降低计算复杂度。
  2. 特征解耦:发现数据中的主要变化方向。
  3. 去噪:通过忽略小的主成分去除噪声。
缺点
  1. 线性假设:PCA 假设数据是线性可分的,不适用于非线性数据。
  2. 信息损失:降维可能会丢失重要信息。
  3. 解释性差:主成分是线性组合,可能难以直观解释其物理意义。

5. PCA 的应用场景

  1. 数据可视化
    • 将高维数据投影到二维或三维空间,便于可视化。
  2. 降维加速
    • 在机器学习任务中减少特征数量,提高模型训练速度。
  3. 去噪
    • 提取主要特征,过滤掉噪声。
  4. 图像压缩
    • 在图像处理中减少数据存储需求。

6. 实现 PCA

手动实现 PCA
import numpy as np# 数据
X = np.array([[2.5, 2.4], [0.5, 0.7], [2.2, 2.9], [1.9, 2.2], [3.1, 3.0], [2.3, 2.7], [2, 1.6], [1, 1.1], [1.5, 1.6], [1.1, 0.9]])# 步骤 1: 标准化数据
X_mean = np.mean(X, axis=0)
X_std = X - X_mean# 步骤 2: 计算协方差矩阵
cov_matrix = np.cov(X_std.T)# 步骤 3: 计算特征值和特征向量
eigenvalues, eigenvectors = np.linalg.eig(cov_matrix)# 步骤 4: 选择主成分
idx = np.argsort(eigenvalues)[::-1]
eigenvalues = eigenvalues[idx]
eigenvectors = eigenvectors[:, idx]# 步骤 5: 投影数据
k = 1  # 选择一个主成分
principal_components = eigenvectors[:, :k]
X_pca = X_std.dot(principal_components)print("降维后的数据:\n", X_pca)

输出结果

降维后的数据:[[-0.82797019][ 1.77758033][-0.99219749][-0.27421042][-1.67580142][-0.9129491 ][ 0.09910944][ 1.14457216][ 0.43804614][ 1.22382056]]
使用 scikit-learn 实现
from sklearn.decomposition import PCA
import numpy as np# 数据
X = np.array([[2.5, 2.4], [0.5, 0.7], [2.2, 2.9], [1.9, 2.2], [3.1, 3.0], [2.3, 2.7], [2, 1.6], [1, 1.1], [1.5, 1.6], [1.1, 0.9]])# PCA 降维
pca = PCA(n_components=1)
X_pca = pca.fit_transform(X)print("降维后的数据:\n", X_pca)

输出结果

降维后的数据:[[-0.82797019][ 1.77758033][-0.99219749][-0.27421042][-1.67580142][-0.9129491 ][ 0.09910944][ 1.14457216][ 0.43804614][ 1.22382056]]

7. 主成分数选择

  1. 累计解释方差比
    • 累计解释方差比达到一定阈值(如 95%)时停止:

\text{explained variance ratio} = \frac{\lambda_i}{\sum_{j=1}^{d} \lambda_j}

  1. 碎石图(Scree Plot)
    • 观察特征值的变化,选择拐点作为主成分数。

8. PCA 的扩展

  1. Kernel PCA:将数据映射到高维空间,处理非线性数据。
  2. Sparse PCA:增加稀疏性约束,选择更少的特征。
  3. Incremental PCA:适合大规模数据集,分批处理数据。

PCA 是降维领域的重要工具,尽管其本质是线性投影,但通过合理使用可以显著提升数据处理效率和模型性能。

相关文章:

【机器学习】机器学习的基本分类-无监督学习-主成分分析(PCA:Principal Component Analysis)

主成分分析(Principal Component Analysis, PCA) 主成分分析(PCA)是一种常用的降维技术,用于将高维数据投影到低维空间,同时尽可能保留原数据的主要信息(方差)。 1. PCA 的核心思想…...

工频隔离与高频隔离的优劣对比

工频与高频隔离的优劣以及选择方法的详细介绍: 工频隔离 优点: 隔离效果好:能有效过滤电网上的谐波干扰和负载特性产生的大电流冲击,为负载提供更可靠的保护,适用于对电源稳定性和可靠性要求高的工业、医疗、交通等领…...

前端传入Grule,后端保存到 .grl 文件中

前端传入Grule,后端保存到 .grl 文件中 通过简单的输入框,将Grule的部分拆解成 规则名称 规则描述 规则优先级 规则条件 规则逻辑Grule关键字 when Then 模拟了 if 判断的条件和逻辑部分 类似于 shell 和 ruby 之类的脚本语言,有 then 关键字…...

SpringBoot【十】mybatis之xml映射文件>、<=等特殊符号写法!

一、前言&#x1f525; 环境说明&#xff1a;Windows10 Idea2021.3.2 Jdk1.8 SpringBoot 2.3.1.RELEASE 在利用mybatis进行开发的时候&#xff0c;编写sql时可能少不了>、<等比较符号&#xff0c;但是在mapper映射文件中直接使用是不行的&#xff0c;会报错&#xff0…...

使用Excel 对S型曲线加减速算法进行仿真

项目场景&#xff1a; 项目场景&#xff1a;代码中写了S型加减速算法&#xff0c;相查看生成的加减速数组&#xff0c;直观的展示出来&#xff0c;USB通信一次64字节&#xff0c;对于我几个个32位的频率值不太方便&#xff0c;于是采用Excel进行仿真。 代码中如何生成S加减速曲…...

Java面试宝典 1.13~1.31【2020.5 Beta版】

Java面试宝典 1.13~1.31【2020.5 Beta版】 <a name"14cb060b"></a> 1.Java基础 <a name"22b8b366"></a> 1.13 静态变量与实例变量的区别&#xff1f; 静态变量实例变量定义使用static关键字声明的实例变量在类中声明&#xff0c;但…...

调度系统:使用 Airflow 对 Couchbase 执行 SQL 调度时的潜在问题

使用 Airflow 对 Couchbase 执行 SQL 调度时&#xff0c;通常情况下不会直接遇到与 Couchbase 分布式特性相关的异常&#xff0c;但在某些特定情境下&#xff0c;可能会出现一些与分布式环境、调度和数据一致性相关的潜在问题。以下是一些可能会遇到的问题和建议的解决方案&…...

过载与简单:理解感知

通常情况下&#xff0c;最好的设计是使用最少设计技巧的设计。这是为什么&#xff1f;这一切都是关于人类大脑是如何工作的&#xff0c;它决定了观众对媒体的反应、感受情绪和做出决定。 注意。我们被海量的信息轰炸。不间断地处理所有这些信号会降低我们大脑的注意力。根据微…...

前端加密的方式汇总

目录 一、Base64编码 二、哈希算法 三、对称加密(AES/DES) 四、非对称加密(RSA) 五、加盐 六、Web Cryptography API? 七、总结 随着信息和数据安全重要性的日益凸显&#xff0c;如何保证信息数据在传输的过程中的安全成为开发者重点关注的内容。前端加密通常是指在浏览…...

git新建远程分支后,无法切换

git remote # 列出所有远程主机 git remote update origin --prune # 更新远程主机origin 整理分支 git branch -r # 列出远程分支 git branch -vv # 查看本地分支和远程分支对应关系 git checkout -b gpf origin/gpf # 新建本地分支gpf与远程gpf分支相关…...

HarmonyOS 线性容器List 常用的几个方法

List底层通过单向链表实现&#xff0c;每个节点有一个指向后一个元素的引用。当需要查询元素时&#xff0c;必须从头遍历&#xff0c;插入、删除效率高&#xff0c;查询效率低。List允许元素为null。 List和LinkedList相比&#xff0c;LinkedList是双向链表&#xff0c;可以快速…...

【21天学习AI底层概念】day2 机器学习基础

按照由浅入深的顺序&#xff0c;下一步学习 机器学习&#xff08;Machine Learning&#xff09; 的基础是最自然的选择。机器学习是人工智能的核心技术之一&#xff0c;很多AI系统都依赖它。以下是学习路线建议&#xff1a; 第二步&#xff1a;机器学习基础 学习目标&#xff…...

简单的Java小项目

学生选课系统 在控制台输入输出信息&#xff1a; 在eclipse上面的超级简单文件结构&#xff1a; Main.java package experiment_4;import java.util.*; import java.io.*;public class Main {public static List<Course> courseList new ArrayList<>();publi…...

TDengine Flink集成

Flink 集成 TDengine 主要涉及在 Flink 项目中配置与 TDengine 的连接&#xff0c;实现数据的读取和写入。以下是一个详细的指南&#xff0c;介绍如何在 Flink 中集成 TDengine&#xff1a; 一、准备工作 安装并启动 Flink&#xff1a; 下载并解压 Flink 安装包。启动 Flink …...

数据结构和算法-05堆和优先队列-01

堆结构(heap) 生活中我们遇见的数据结构-堆&#xff1a; 查看电影口碑排名第一的电影。 堆的概念 [堆(heap)] 是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质&#xff1a; 堆中某个结点的值总是不大于或不小于其父结点的…...

PDFMathTranslate,PDF多语言翻译,批量处理,学术论文,双语对照(WIN/MAC)

分享一个非常实用的PDF文档翻译项目——PDFMathTranslate。作为一个经常逛GitHub的开发者&#xff0c;我总喜欢翻看各种项目附带的论文&#xff0c;虽然大多时候是瞎研究&#xff0c;但却乐在其中。该项目能够完美保留公式、图表、目录和注释&#xff0c;对于需要阅读外文文献的…...

爬虫基础与实践

爬虫技术基础与实践 在当今数字化的时代&#xff0c;数据成为了宝贵的资源。爬虫技术作为获取数据的重要手段&#xff0c;受到了广泛的关注和应用。本文将介绍爬虫的基本概念、工作原理以及一些常用的技术和工具。 一、爬虫的基本概念 爬虫&#xff0c;也称为网络蜘蛛或网络机器…...

uni-app Android平台上架要求的隐私政策提示配置方法【跨端开发系列】

文章目录 前言&#x1f4d6;一、前言二、DCloud 数据采集说明三、配置方式3.1 HBuilderX3.2.1及以上版本配置方式3.2 HBuilderX3.2.0及以下版本配置方法3.3 模板提示框3.4 无提示框 四、离线打包配置方式五、模板提示框六、二次确认提示框七、国际化八、隐私协议内容需要注意的…...

在Ubuntu上使用docker compose安装N卡GPU的Ollama服务

在现代计算环境中,利用 GPU 进行计算加速变得越来越重要。下面将讲解如何在Ubuntu上使用docker compose安装N卡GPU的Ollama服务。 1、安装 NVIDIA 容器工具 首先,需要确保你的系统已经安装了 NVIDIA 容器工具 nvidia-container-toolkit。这是让 Docker 容器访问 GPU 的关键…...

中文分词学习

1.安装 jieba 库 !pip install jieba jieba 库是用于中文分词的工具&#xff0c;它通过精确的分词算法来处理文本。通过分词可以将中文句子拆分成单独的词语&#xff0c;这对于自然语言处理任务非常重要&#xff0c;比如文本分类、情感分析、关键词提取。 2.中文文本分词处理…...

Seata 分布式事务

1. 分布式事务介绍 传统单体应用场景下&#xff0c;系统的数据保存在一个数据库实例中&#xff0c;通常场景的关系数据库都能自动提供事务保证&#xff0c;并且这种情况下的事务称为本地事务&#xff0c;能保证原子性、一致性、隔离性、持久性&#xff08;ACID 特性&#xff09…...

Burp入门(10)-IP伪造插件

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;IP伪造和爬虫审计_哔哩哔哩_bilibili 本文详细介绍IP伪造插件Burp Fake IP使用。 一、插件安装 打开Burp Suite。进入扩展标签页。点击添加&…...

idea连接SQL Server数据库_idea连接sqlserver数据库

4.设置密码&#xff08;这一步可以在安装数据库时就可以完成&#xff09;&#xff0c;如果觉得用户名有问题&#xff0c;也可以修改用户名 5.查看SQL Server端口号&#xff08;默认端口&#xff1a;1433&#xff09;&#xff0c;选择SQL Server2019配置管理器 6.打开SQL Server…...

SQL汇总数据:聚集函数

我们经常需要汇总数据而无需实际检索出这些数据&#xff0c;为此SQL提供了专门的函数。使用这些函数&#xff0c;SQL查询能够高效地检索数据&#xff0c;以便进行分析和报表生成。这类检索的例子包括&#xff1a; 确定表中行数&#xff08;或者满足某个条件或包含某个特定值的…...

Next.js系统性教学:服务器操作与数据变更

更多有关Next.js教程&#xff0c;请查阅&#xff1a; 【目录】Next.js 独立开发系列教程-CSDN博客 目录 1. 什么是服务器操作和数据变更&#xff1f; 1.1 服务器操作 (Server Actions) 1.2 数据变更 (Mutations) 2. Next.js中的服务器操作与数据变更 2.1 引入&#xff1a…...

Python Selenium 各浏览器驱动下载与配置使用(详细流程)

大家好啊&#xff01;我是NiJiMingCheng 这是我的博客&#xff1a;NiJiMingCheng 这节课我们来学习安装selenium和对应的各个浏览器驱动&#xff0c;个人比较喜欢使用谷歌浏览器驱动&#xff0c;所以接下来以谷歌浏览器来为大家做示例&#xff01;&#xff01;&#xff01; Sel…...

python flask 框架模块介绍

Flask 是一个轻量级、可扩展的 Python Web 框架&#xff0c;特别适合构建小型和中型应用程序。它的设计哲学是简单、灵活&#xff0c;允许开发者根据需要选择或创建功能模块。以下是 Flask 框架的核心模块和其功能的详细讲解&#xff1a; 1. Flask 核心模块 (1) flask.Flask 类…...

手把手搭建基于.NET 8.0的Web API项目

1.背景 工作以后&#xff0c;大部分时间都是在做基于业务的CRUD工作&#xff0c;软件产品或者项目的框架基本都早就搭建好了&#xff0c;程序员只需要在框架内去填格子打代码就行了。于是&#xff0c;我抽了时间来搭建个简单的三层架构模式的web api项目&#xff0c;技术点大概…...

SQL注入基础入门篇 注入思路及常见的SQL注入类型总结

目录 前言一、了解mysql数据库1、了解sql增删改查2、了解sql查询 二、sql注入基础三、学习sql注入漏洞1、union注入1、判断数字型注入还是字符型型注入&#xff1a;2、判断闭合方式&#xff08;字符型注入&#xff09;&#xff1a;3、判断回显位4、查询库名&#xff0c;表名&am…...

部门操作和日志

PostMapping("/depts") public Result add(RequestBody Dept dept){System.out.println("添加部门: " dept);deptService.add(dept);return Result.success(); }Override public void add(Dept dept) {dept.setCreateTime(LocalDateTime.now());dept.setU…...

如何使用WinCC DataMonitor基于Web发布浏览Excel报表文档

本文介绍使用 WinCC DataMonitor 的 "Excel Workbooks" 功能&#xff0c;通过 Excel 表格显示 WinCC 项目的过程值、归档变量值和报警归档消息。并可以通过 Web 发布浏览访问数据 1&#xff0e;WinCC DataMonitor是什么 ? DataMonitor 是 SIMATIC WinCC 工厂智能中…...

禁用SAP Hana错误密码锁定用户功能

背景 公司项目适配多种数据库其中包含SAP Hana&#xff0c;由于有同事的数据库连接工具保存了某个在用的数据库的旧密码&#xff0c;导致时不时会被锁用户。通过查询官方文档已解决&#xff0c;这里统一记录一下。 禁用密码锁定方法 以下按系统管理员和普通用户的解法分别列…...

uni-app 个人课程表页面

uni-app 个人课程表页面 插件参考地址 大部分代码都是参考了上述代码&#xff0c;只对代码做出了优化 1. 页面模板 在 schedule.vue 文件中&#xff0c;编写页面结构&#xff1a; <template><view><u-navbar title"个人中心"><view class&q…...

实现盘盈单自动化处理:吉客云与金蝶云星空数据对接

盘盈单103v2对接其他入库&#xff1a;吉客云数据集成到金蝶云星空 在企业信息化管理中&#xff0c;数据的高效流转和准确性至关重要。本文将分享一个实际案例&#xff0c;展示如何通过轻易云数据集成平台&#xff0c;将吉客云的数据无缝对接到金蝶云星空&#xff0c;实现盘盈单…...

如何查看内网设备访问互联网时的出口 IP 地址?

在企业VPC中我们通常是一个机房公用一个公网IP&#xff0c;也就是所有的设备共用同一个出口IP。 那么如何查看如何查看内网设备访问互联网时的出口 IP 地址呢&#xff1f; 要查看一台 Linux 内网设备访问互联网时的出口 IP 地址&#xff0c;可以使用以下几种方法&#xff1a;…...

JavaCV之FFmpegFrameFilter视频转灰度

1、代码 package com.example.demo.ffpemg;import lombok.SneakyThrows; import org.bytedeco.javacv.*;public class FFmpegFrameFilterVideoExample {SneakyThrowspublic static void main(String[] args) {// 输入视频文件路径String inputVideoPath "f:/2222.mp4&qu…...

MySQL | 尚硅谷 | 第16章_变量、流程控制与游标

MySQL笔记&#xff1a;第16章_变量、流程控制与游标 文章目录 MySQL笔记&#xff1a;第16章_变量、流程控制与游标第16章_变量、流程控制与游标 1. 变量1.1 系统变量1.1.1 系统变量分类1.1.2 查看系统变量 1.2 用户变量1.2.1 用户变量分类1.2.2 会话用户变量 1.2.3 局部变量1.2…...

css矩形样式,两边圆形

废话不多说&#xff0c;代码如下&#xff0c;直接拷贝即可使用&#xff1a; index.vue文件 <template><view class"wrap"><view class"tabs"><view class"tab active"><view class"name">标签</view…...

【FAQ】HarmonyOS SDK 闭源开放能力 —Push Kit(7)

1.问题描述&#xff1a; 推送通知到手机&#xff0c;怎么配置拉起应用指定的页面&#xff1f; 解决方案&#xff1a; 1、如果点击通知栏打开默认Ability的话&#xff0c; actionType可以设置为0&#xff0c; 同时可以在.clickAction.data中&#xff0c;指定待跳转的page页面…...

孚盟云 MailAjax.ashx SQL注入漏洞复现

0x01 产品简介 上海孚盟软件有限公司是一家外贸SaaS服务提供商,也是专业的外贸行业解决方案专业提供商。 全新的孚盟云产品,让用户可以用云模式实现信息化管理,让用户的异地办公更加流畅,大大降低中小企业在信息化上成本,用最小的投入享受大型企业级别的信息化服务,主要…...

Windows平台Unity3D下RTMP播放器低延迟设计探讨

技术背景 好多开发者希望我们分享下大牛直播SDK是如何在Unity下实现低延迟的RTMP播放的&#xff0c;以下是一些降低 Unity 中 RTMP 播放器延迟的方法&#xff1a; 一、选择合适的播放插件或工具 评估和选用专业的流媒体插件 市场上有一些专门为 Unity 设计的流媒体插件&…...

数据结构---队列(Queue)

1. 简介 队列&#xff08;Queue&#xff09;是一种常用的数据结构&#xff0c;它遵循先进先出&#xff08;FIFO&#xff0c;First In First Out&#xff09;的原则。这意味着第一个进入队列的元素将是第一个被移除的元素。队列在计算机科学中有着广泛的应用&#xff0c;比如任…...

软件测试丨Appium 源码分析与定制

在本文中&#xff0c;我们将深入Appium的源码&#xff0c;探索它的底层架构、定制化使用方法和给软件测试带来的优势。我们将详细介绍这些技术如何解决实际问题&#xff0c;并与大家分享一些实用的案例&#xff0c;以帮助读者更好地理解和应用这一技术。 Appium简介 什么是App…...

selenium学习:等待方式

隐式等待 1.针对查找元素设置最大的超时时间 2.可以全局性的设置 3.不满足时&#xff0c;提示no such element driver.implicitly_wait(5) #对查找元素最大的超时时间&#xff0c;如果超过最大等待时间后&#xff0c;没有找到元素&#xff0c;则会报错&#xff1a;no such #e…...

京准电钟分享:医院网络内NTP时间同步服务器作用是什么?

京准电钟分享&#xff1a;医院网络内NTP时间同步服务器作用是什么&#xff1f; 京准电钟分享&#xff1a;医院网络内NTP时间同步服务器作用是什么&#xff1f; 时间同步技术必定将是整个大数据处理系统的重要支撑和保障。时间同步技术使数据产生与处理系统的所有节点具有全局…...

Excel 合并工具 将文件复制到目标工作表中与操作日志记录

指定文件夹中读取符合条件的 Excel 文件&#xff0c;将其中的数据按照一定规则复制到目标工作表中&#xff0c;并进行相关的日志记录和工作簿保存操作。 先看下 excel 的结构 合并的结果 log 记录 vba 代码 Sub DeltaCheck()作者和创建时间的注释 定义工作表变量Dim ws As Wor…...

Linux 内核源码

Linux 内核的源代码可以在以下位置获取&#xff1a; • 官方网站&#xff1a;https://www.kernel.org/是Linux内核源代码的官方获取渠道&#xff0c;该网站提供了各种版本的内核源代码压缩包&#xff0c;用户可按需选择版本下载. • Git 仓库&#xff1a;使用Git工具可克隆Li…...

Windows中MySQL8.3.4 MSI版本——详细安装教程

一、下载MySQL安装文件。 下载地址&#xff1a;MySQL官网 进入后点击下面的MySQL社区版下载 点击MySQL Comunity Server。 我这里选择的是版本8.4.3LTS版本&#xff0c;在线对应的msi文件。 点击No thanks,直接下载。 二、安装MySQL 2.1、双击刚刚下载好的msi文件&#xff0c;…...

STM32F103单片机使用STM32CubeMX新建IAR工程步骤

打开STM32CubeMX软件&#xff0c;选择File 选择新建工程 在打开的窗口输入单片机型号 在右下角选择单片机型号&#xff0c;然后点右上角 start project&#xff0c;开始新建工程。 接下来设置调试接口&#xff0c;在左边System Core中选择 SYS&#xff0c;然后在右右边debu…...

使用 WebRtcStreamer 实现实时视频流播放

WebRtcStreamer 是一个基于 WebRTC 协议的轻量级开源工具&#xff0c;可以在浏览器中直接播放 RTSP 视频流。它利用 WebRTC 的强大功能&#xff0c;提供低延迟的视频流播放体验&#xff0c;非常适合实时监控和其他视频流应用场景。 本文将介绍如何在Vue.js项目中使用 WebRtcSt…...