FocusFlow
Mac 录屏,专注录下该录的那一块
Mac
系统自带的录屏能录下「发生了什么」,却录不出「该看哪里」。演示一个按钮,观众拿到的是一整块 5K 屏幕,那个按钮只占几十像素。
FocusFlow 把这件事反过来做:录的时候只管操作,镜头交给它 —— 点击和输入的位置会自动推近,停一会儿再拉回;剪辑时每一段还能自己调。
录制
- 三种范围:整块显示器、单个窗口、自定义区域。选窗口是移上去高亮、点一下确定,不弹列表挡住你正要录的东西;区域可以锁定比例,也能随时拖动改位置。
- 录制条不入镜。这条比听上去难:控制条、区域选框、摄像头浮窗都是 app 自己的窗口,得在系统采集层就排除掉,而不是「开录前先藏起来」。
- 提词器浮窗:半透明、可拖动、能自动滚动并调速,同样不会被录进画面。
- 摄像头画中画:圆形 / 圆角 / 方形,大小、镜像、位置都能改,录制中和剪辑时都能直接拖。
剪辑
- 自动运镜:依据录制时的点击与输入位置生成推拉,缩放深度、放大停留、运镜节奏都可调。
- 时间轴:每段缩放是一个块,能拖、能拉长缩短、能在空白处新增,支持撤销重做。
- 画面美化:留白、圆角、投影,背景可选对角渐变 / 竖直渐变 / 纯色。
- 光标:轨迹平滑、点击波纹。
导出
MP4(H.264),麦克风与系统声音自动混轨。全程有进度、可取消,而且文件真正写完之前界面不会关 —— 这条是被自己坑过才补的:提示消失了,文件夹里的视频却还打不开。
录制、合成、导出全部在本机完成,画面不上传。
技术
Swift + SwiftUI 原生实现。ScreenCaptureKit 负责 60fps 采集,运镜、光标、摄像头与美化由自己写的 Metal 合成器渲染,AVFoundation 处理编解码与混轨。
预览和导出走的是同一条渲染管线:所见即所得不是靠两边对齐参数,而是让两条路径产出逐像素一致的结果,再用测试把它锁住。工程文件把原始录像、事件流和编辑参数分开存,所以每一次剪辑都是无损的,随时推翻重来。



- 上线
- 2026
- 我的角色
- 独立开发
- 技术栈
- SwiftScreenCaptureKitAVFoundation