news 2026/9/6 19:57:33

Cap 录屏应用构建指南:Tauri 桌面端与 Web 端产物编译验证

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cap 录屏应用构建指南:Tauri 桌面端与 Web 端产物编译验证

Cap 录屏应用构建指南:Tauri 桌面端与 Web 端产物编译验证

【免费下载链接】CapOpen source Loom alternative. Beautiful, shareable screen recordings.项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap

Cap 是开源的 Loom 替代品,核心产物是两类可验证的构建成果:Tauri v2 录屏桌面应用(Rust 媒体管线 + SolidStart 前端),以及可自托管的 Web 端(Next.js + Docker Compose 全家桶)。前者在 macOS / Windows 上完成屏幕、摄像头、麦克风录制并支持编辑导出;后者提供分享页、团队协作与对象存储接入。两者共享同一套 Rust crate 媒体管线,因此一次环境搭建可以覆盖全平台构建。

环境前置:工具链版本与原生依赖准备

Cap 是 pnpm monorepo,由 Turbo 调度。环境基线以仓库package.jsonenginesrust-toolchain.toml为准:

  • Node.js ≥ 20,pnpm 固定 10.5.2(packageManager字段声明,版本漂移会导致锁文件解析异常)
  • Rust ≥ 1.88.0
  • Docker,用于本地拉起 MySQL 与 MinIO

平台侧还有硬依赖:Windows 需要 MSVC v143(17.12 及以上)、LLVM/libclang 与 VCPKG;macOS 需要 cmake。这些是pnpm cap-setup之外的前置项,脚本不会替你安装。

获取源码并安装依赖:

git clone https://gitcode.com/GitHub_Trending/cap1/Cap cd Cap pnpm install

pnpm env-setup是一个交互式 CLI(见 scripts/env-cli.js),会询问要运行哪些应用、是否用 Docker 承载 S3 与 MySQL,并据此生成根目录.env

pnpm env-setup

随后pnpm cap-setup执行 scripts/setup.js,按平台准备 Rust 编译所需的原生依赖并写入.cargo/config.toml

  • Windows:下载 FFmpeg 7.1 预编译包与 ONNX Runtime DLL,复制到target/debug/target/release,并校验vswhere能定位到满足版本要求的 MSVC;
  • macOS:拉取 FFmpeg native-deps 压缩包、修剪并 codesign 框架、准备 ONNX Runtime dylib;
  • Linux(交叉编译场景):按RUST_TARGET_TRIPLE选择对应架构的 native-deps,并生成 Linux Tauri deb 打包配置。

构建与产物:本地开发栈与 Tauri 发布包两条路径

两条路径服务于不同目的,命令均在仓库根目录执行。

路径一:本地开发栈(推荐先用它跑通环境)

pnpm dev做两件事:先经 Turbo 执行docker:up拉起 MySQL/MinIO(docker-compose.yml 定义),再用turbo run dev并行启动 Web 与桌面端;退出时通过trap自动停掉容器。只想跑 Web 时用pnpm dev:web,只跑桌面端用pnpm dev:desktop

路径二:桌面端发布包

pnpm tauri:build在 apps/desktop/package.json 中定义为串行的四步:build:sidecar编译cap-muxercap-exportercap-cli三个旁挂二进制;build:gpui构建 release 版 gpui 组件;preparescript --release做产物校验;最后tauri build使用src-tauri/tauri.prod.conf.json执行前端打包(vinxi build.output/)与 Rust 后端编译。

产物形态由 tauri.conf.json 的bundle.targets: "all"决定:macOS 输出.app/.dmg,Windows 输出.msi/.exe安装包,bundle 内还会打包externalBin声明的三个 sidecar 二进制。workspace 的 release profile(lto = trueopt-level = "s")针对产物体积做了优化,首次构建耗时较长属正常现象。

Web 端产物

若目标是自托管,docker compose up -d直接启动 cap-web、media-server、mysql、minio 四个服务,应用落在http://localhost:3000,邮件未配置时登录链接会打印在docker compose logs cap-web的输出中。

接入与验证:三种方式确认产物可用

  1. 桌面端开发模式验证pnpm dev:desktop启动后,在 macOS 上需把屏幕录制、麦克风权限授予运行终端的那个进程(如 Terminal.app),而不是Cap - Development.app本身。录屏文件默认存放在~/Library/Application Support/so.cap.desktop.dev/recordings(macOS)或%programfiles%/so.cap.desktop.dev/recordings(Windows)。
  2. Web 端验证:访问http://localhost:3000能打开首页,且用刚录制的 Cap 生成的分享链接可正常播放,说明 media-server 与 MinIO 链路已打通。
  3. 发布包独立验证:将 Tauri 安装包装到干净系统上安装运行,确认录屏、导出、上传全流程不依赖开发环境残留。

边界与排错:先查这些再怀疑代码

  • Windows 报 MSVC 版本不足pnpm dev会在vswhere查不到 17.12+ 的 MSVC v143 时直接抛出安装指引。旧版本(14.42 以下)的vcruntime140_1.lib缺少 ONNX Runtime 所需的向量化符号,升级 Build Tools 后执行cargo clean -p cap-desktop再重试。
  • pnpm 版本不符package.json声明pnpm@10.5.2,用其他版本可能出现依赖解析不一致;建议corepack enable让 Node 按声明自动取版本。
  • 容器起不来:先docker compose ps看健康检查状态,再看对应服务日志;devstart_period给了 30–60 秒缓冲,不要过早下结论。
  • Docker 之外单独跑 Web:进入apps/web执行pnpm dev可绕过容器,但需自备 MySQL 与 S3 端点,.env里的连接串要与pnpm env-setup的选择一致。
  • 平台覆盖:桌面端官方支持 macOS 与 Windows;Linux 侧pnpm cap-setup已支持交叉编译产物打包,但完整功能未在发行版上逐台验证。

提示:Cap 的数据归属设计(自建 MinIO / S3、私有分享链接)意味着你应当只在自有实验环境部署,不要把默认密码的实例直接暴露到公网。

【免费下载链接】CapOpen source Loom alternative. Beautiful, shareable screen recordings.项目地址: https://gitcode.com/GitHub_Trending/cap1/Cap

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 19:55:38

计算机技术专硕授权点申报全攻略:从材料准备到答辩避坑

简介:这是一份面向计算机技术硕士专业学位授权点申报场景的PPT材料,适合高校学科建设负责人、研究生教育管理者及参与学位点申报的教师团队参考。内容紧扣“聚焦电力能源产业”的办学定位,系统回答了为什么申报该学位点这一核心问题&#xff…

作者头像 李华
网站建设 2026/9/6 19:53:23

Stewart六自由度隔振平台建模与主动控制全流程解析

简介:面向机械工程、控制工程及航天器振动控制领域研究者的论文复现资源包,聚焦基于Stewart机构的六自由度隔振平台,系统解决控制力矩陀螺引发的卫星微振动问题。内容涵盖主被动隔振特性建模与弹簧阻尼参数优化、平台条件数与刚度分析、基于N…

作者头像 李华
网站建设 2026/9/6 19:51:30

Wekan 开源看板使用指南:从部署到日常维护一次讲清

Wekan 开源看板使用指南:从部署到日常维护一次讲清 【免费下载链接】wekan The Open Source kanban, built with Meteor. GitHub issues/PRs are only for FLOSS Developers, not for support, support is at https://wekan.fi/commercial-support/ . PR source tra…

作者头像 李华
网站建设 2026/9/6 19:49:00

SILVACO TCAD仿真精讲:从虚拟流片到GaN HEMT器件实践

简介:SILVACO TCAD工艺及器件仿真工具PPT教案,是一份面向半导体器件与集成电路方向学生、研究人员及工程师的专业课件,系统讲解SILVACO TCAD在工艺仿真与器件仿真中的应用,帮助读者了解ATHENA和ATLAS的基本原理与操作方法。资源共…

作者头像 李华
网站建设 2026/9/6 19:41:01

电梯五方对讲系统详解:四线制与六线制接线方案及常见故障排查

简介:面向电梯安装、弱电工程与安防运维人员的四六线制电梯五方对讲系统设计方案,内容覆盖系统设计、布线、接线、设备安装与系统调试等环节,帮助读者理解轿厢、机房、监控中心、物业值班室与井道五方之间的通信架构及实施要点。压缩包内为1个…

作者头像 李华
网站建设 2026/9/6 19:39:52

如何快速搭建智能法务系统:6 个开源法律大模型的选型与部署指南

如何快速搭建智能法务系统:6 个开源法律大模型的选型与部署指南 【免费下载链接】Awesome-Chinese-LLM 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用&#xff0c…

作者头像 李华