
Repository: https://gitee.com/741852963/lite-cap
功能特性
技术栈
项目结构
liteCap/
├── app.go # Wails 绑定入口
├── app-recording.go # 录制相关绑定
├── app-screenshot.go # 截图相关绑定
├── app-gif.go # GIF 录制绑定
├── app-border.go # 录制边框覆盖层控制
├── app-watermark.go # 水印功能
├── app-screenshot-editor.go # 截图标注编辑器
├── app-window-picker.go # 窗口选择器
├── app-config.go # 配置管理
├── main.go # 应用入口
├── build.ps1 # 一键打包脚本
├── build-ffmpeg.ps1 # 定制 FFmpeg 编译脚本
├── Makefile # 常用命令快捷方式
├── internal/
│ ├── recorder/ # FFmpeg 进程管理、录制控制
│ ├── capture/ # 屏幕捕获(GDI / PrintWindow)
│ ├── audio/ # 音频设备枚举(dshow)
│ ├── ui/ # Win32 UI 组件(边框、区域选择器、窗口选择器)
│ ├── window/ # 窗口枚举、缩略图、EXCLUDEFROMCAPTURE
│ ├── config/ # 用户配置持久化
│ ├── embed/ # FFmpeg 内嵌/解压(go:embed ffmpeg.gz)
│ ├── logger/ # 日志(Debug 构建输出文件,Release 静默)
│ └── menu/ # 系统托盘菜单
├── frontend/
│ └── src/ # Vue 3 前端源码
├── third_party/
│ ├── ffmpeg/ # FFmpeg n7.0 源码
│ └── x264/ # x264 源码
├── images/ # 项目截图
└── docs/ # 设计文档构建指南
环境要求
go install github.com/wailsapp/wails/v3/cmd/wails3@latest | ||
1. 克隆项目
git clone https://gitee.com/741852963/lite-cap.git
cd liteCap2. 定制 FFmpeg 编译(可选)
项目已内嵌预编译的 internal/embed/ffmpeg.gz,首次构建无需此步骤。仅在需要修改 FFmpeg 编译配置时执行:
# 需要 MSYS2 安装在 tools\msys64,并包含 MinGW64 工具链、git、nasm
.\build-ffmpeg.ps1编译产出约 8MB 的 ffmpeg.exe,gzip 压缩后约 3.5MB,通过 go:embed 嵌入 Go 二进制。
3. 开发模式
# 安装前端依赖
cd frontend && npm install && cd ..
# 启动开发服务器(热重载)
wails3 dev4. 生产构建
# 基础构建(输出到 build/release/dev/)
.\build.ps1
# 指定版本号(输出到 build/release/1.0.0/)
.\build.ps1 -Version1.0.0
# UPX 压缩(额外节省 30-40%)
.\build.ps1 -Version1.0.0-Compress
# 同时生成 NSIS 安装包
.\build.ps1 -Version1.0.0-Compress-Installer
# Debug 构建(日志输出到 exe 同目录 liteCap.log)
.\build.ps1 -Debug
# 清理后重新构建
.\build.ps1 -Version1.0.0-Clean也可使用 Makefile 快捷命令:
make dev # 开发模式
make build # 生产构建
make build-compressed # UPX 压缩构建
make build-installer # 生成安装包
make build-debug # Debug 构建
make release # 完整发布(清理 + 压缩 + 安装包)5. 运行测试
# Go 测试
go test ./internal/... -cover -count=1
# 前端测试
cd frontend && npx vitest run
# 全部测试
make test-all构建参数说明
build.ps1 支持以下参数:
-Version | build/release/<版本号>/ | dev |
-Compress | ||
-Installer | ||
-Clean | ||
-Debug |
版本号通过 -ldflags "-X main.Version=xxx" 注入 Go 二进制,运行时日志中可查看。
定制 FFmpeg 模块
编译脚本 build-ffmpeg.ps1 只启用 liteCap 所需的最小功能集:
夜雨聆风