1. 项目背景与需求分析
去年团队协作时频繁需要录制操作演示视频,市面上主流录屏软件要么功能臃肿(如Camtasia),要么存在水印限制(如某国产软件)。更头疼的是商业软件普遍存在三个痛点:一是隐私顾虑,二是跨平台兼容性问题,三是自定义功能缺失。作为技术从业者,我决定用AI+FFmpeg的组合打造一个轻量级自主录屏方案。
这个自研工具需要满足以下核心需求:
- 支持Windows/macOS双平台
- 实现基础录屏功能(区域选择/帧率调节/音频采集)
- 集成AI降噪和智能标注功能
- 输出文件体积可控
- 完全本地运行保障隐私
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 核心组件拆解
整个系统采用模块化设计,主要包含四大模块:
- 采集模块:通过FFmpeg捕获屏幕和音频设备
- 处理模块:调用Python实现的AI功能
- 控制模块:PyQt构建的图形界面
- 输出模块:FFmpeg编码压缩流水线
2.2 关键技术决策
选择FFmpeg作为底层核心基于三点考量:
- 支持DirectShow(Windows)和AVFoundation(macOS)两种采集架构
- 内置x264编码器可实现CRF质量调控
- 通过filter_complex实现音视频同步处理
AI部分采用ONNX运行时加载预训练模型,相比直接使用PyTorch有三个优势:
- 模型体积缩小60%(ResNet-18从45MB降至18MB)
- 推理速度提升20%(实测1080p视频处理仅增加15%耗时)
- 跨平台兼容性更好
3. 核心功能实现细节
3.1 屏幕采集与编码配置
关键FFmpeg参数示例:
bash复制ffmpeg -f gdigrab -framerate 30 -offset_x 100 -offset_y 200 \
-video_size 1280x720 -i desktop -f dshow -i audio="麦克风" \
-c:v libx264 -crf 23 -preset fast -pix_fmt yuv420p \
-af "highpass=f=200,lowpass=f=3000" output.mp4
参数优化经验:
- CRF值每增加6
