# 教程录屏工具-跟随鼠标放大聚焦 **Repository Path**: chunfff/recorder ## Basic Information - **Project Name**: 教程录屏工具-跟随鼠标放大聚焦 - **Description**: 教程录屏工具,自动跟随鼠标移动并放大聚焦焦点区域,助力高效制作清晰演示视频。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-25 - **Last Updated**: 2026-08-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 闪念录屏 · Flash Recorder > 一款基于 Electron 的「点击即聚焦」丝滑局部放大录屏工具。 > 点击屏幕任意位置(或按下快捷键),画面会以鼠标为中心平滑放大到 2x / 3x / 5x, > 停留片刻后自动还原 —— 适合做教程演示、代码讲解、操作高亮类视频。 --- ## ✨ 功能特性 - **点击即聚焦**:屏幕任意位置点击鼠标左键即触发局部放大,动画丝滑(zoom-in → hold → zoom-out) - **快捷键驱动**:`Ctrl+Shift+R` 开始/停止录制、`Ctrl+Shift+Z` 开关聚焦、`Ctrl+Shift+F` 手动聚焦,全部可自定义 - **双击触发**:支持 ScrollLock / F13-F24 等单键连按两次触发聚焦 - **多录制源**:整屏 / 应用窗口 / 自定义框选区域,自动过滤不可捕获的系统窗口 - **尺寸预设**:4K / 2K / 1080p / 720p / 竖屏 / 正方形 / 自定义等比输出 - **6 种光标造型**:箭头 / 圆点 / 圆环 / 光晕 / 十字准星 / 不绘制,颜色尺寸可调 - **5 种点击特效**:扩散圆环 / 粒子爆发 / 聚光灯 / 冲击波 / 脉冲圈 - **导出格式**:MP4(自动 WebM→MP4 转换)/ H.264 WebM / VP9 / VP8,快照 PNG / JPEG - **音画同录**:麦克风 + 系统声音,可仅导出音频 - **安全保存**:自动写入可写安全目录,避开系统关键位置与「受控文件夹访问」保护目录 --- ## 📸 界面截图 ### 主界面 主界面左侧为实时预览(含光标与点击特效),右侧为控制面板(录制源 / 聚焦设置 / 光标样式 / 点击特效 / 音频 / 画质 / 导出 / 快捷键): ![主界面](docs/主界面.png) ### 自定义区域选择 全屏半透明遮罩 + 拖拽框选,实时显示物理像素尺寸,按 `Esc` 取消: ![区域选择](docs/区域选择.png) --- ## 🏗️ 架构设计 三层结构,遵循 Electron 安全最佳实践(`contextIsolation: true`、`nodeIntegration: false`、CSP 白名单)。 ``` zoom-recorder/ ├── main.js # 主进程:窗口、桌面捕获源、IPC、ffmpeg 转换、保存目录管理 ├── preload.js # contextBridge 安全桥接,仅暴露白名单 API ├── index.html # UI 结构(预览区 + 控制面板) ├── renderer.js # 渲染逻辑:源选择、预览、MediaRecorder 录制、UI 绑定 ├── zoom-engine.js # 缩放引擎:canvas 双缓冲绘制、聚焦状态机、光标/特效 ├── styles.css # 深色主题样式 └── package.json # 依赖与 electron-builder 打包配置 ``` ### 三层职责 | 层 | 职责 | |---|---| | **主进程** | 桌面源枚举与过滤、全局鼠标钩子(uiohook-napi)、全局快捷键、区域选择窗口、WebM→MP4 转换、可写保存目录探测 | | **preload** | 通过 `contextBridge` 暴露 `window.api`,渲染层无法直接访问 Node / 文件系统 | | **渲染层** | `getUserMedia` 桌面流 → 隐藏 `