@elata-biosciences/rppg-web 的推荐应用集成路径。
对许多 Elata 产品来说,摄像头 rPPG 是主要的浏览器集成方式,无需头戴设备。
核心思路很简单:让 createRppgSession() 负责浏览器运行时、视频处理循环和诊断,你的应用负责界面。
当你在构建你的第一个 Elata 应用之后为摄像头 rPPG 选择现有应用分支时,这通常是下一篇教程。如果你是在扩展脚手架,请继续使用 rppg-demo,并参考在浏览器应用中使用 rPPG 和 rppg-web。
你将构建什么
你将:- 安装
@elata-biosciences/rppg-web - 请求摄像头访问
- 将视频流绑定到
video元素 - 启动
createRppgSession() - 读取指标和诊断信息
- 在清理时停止会话
第 1 步:安装包
第 2 步:准备 video 元素
你的应用需要一个可以接收摄像头流的video 元素。
index.html(或你的组件标记)
autoplay:视频流绑定后即可开始播放playsinline:适配移动端浏览器行为muted:避免受自动播放规则限制
第 3 步:获取摄像头访问
camera setup
第 4 步:启动 createRppgSession()
rPPG session
- 打包的 WASM 后端初始化
- 帧采集
- ROI/会话编排
- 输出诊断信息
- 清理支持
第 5 步:在界面中读取指标
第 6 步:正确清理
当组件、路由或页面离开时,停止会话并释放摄像头流。按顺序运行(使用上面相同的session 和 stream):
完整示例(一次粘贴)
如果你想要一个可以直接放进 Vite + React 应用的文件(例如替换src/App.tsx 的内容),请使用下面的代码。它包含摄像头设置、会话启动以及卸载时的清理。
App.tsx
<video> 上使用 React ref,而不是上面步骤中的 getElementById("camera")。
如何处理诊断信息
最快能带来价值的应用行为是:- 显示会话处于
running、degraded还是failed - 出现
issues时显示易懂的提示 - 在应用获得足够稳定的样本之前,阻止发布或评分
createManagedRppgSession()createRppgAppAdapter()createRppgAppMonitor()
createRppgSession() 开始。
常见问题
session.getDiagnostics().backendMode为unavailable:你的应用很可能没有正确加载打包的 WASM 资源- 摄像头访问失败:检查浏览器权限和
getUserMedia支持 - 会话进入终止状态
failed:重新创建会话,而不是继续使用已损坏的处理器 - 你想先调试底层生成的绑定:除非你确实在调试 SDK 本身,否则请从
createRppgSession()开始
下一步
rppg-web 参考
包 API 和导出
在浏览器中使用 rPPG
集成概览
构建你的第一个应用
最佳的首次设置路径