QuickRecorder 实战指南:ScreenCaptureKit 屏幕录制的完整配置与编码选择
【免费下载链接】QuickRecorderA lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具项目地址: https://gitcode.com/GitHub_Trending/qu/QuickRecorder
你需要在 Mac 上录一段只包含某个窗口操作过程的演示视频,最好带上系统声音,又不想装什么虚拟声卡驱动。QuickRecorder 就是一个为这类需求而生的 macOS 屏幕录制工具:它基于 Apple 原生 ScreenCaptureKit 框架(SCK),整个安装包不到 10MB,支持屏幕、窗口、应用、区域和移动设备五种录制模式,并且能用 HEVC with Alpha 格式录出带透明通道的视频。
它定位在哪
传统录屏方案要么用早已停止推荐的 CGDisplayStream 接口,要么依赖第三方音频驱动做内录。QuickRecorder 走的是另一条路:录制引擎全部构建在 SCK 之上,用SCContentFilter精确描述"录什么、排除什么",音频则靠 macOS 13 起 SCK 原生支持的窗口声音捕获,免驱动拿到系统音。
它的界面是纯 SwiftUI 写的,没有上架 App Store,也不做沙盒,所以权限逻辑简单直接——给一次屏幕录制权限就能用。工程核心集中在 RecordEngine.swift(录制状态与帧写入)和 SCContext.swift(SCK 交互封装)两个文件,代码量不大,读起来没有压力。
从选择目标到落盘:一次录制的完整流程
启动后主面板会列出五种录制模式:整屏、单窗口、多窗口、指定应用、屏幕区域。你点中目标后,它会实时预览捕获内容——这一步其实是用SCStreamConfiguration建了一条 1 帧/秒的轻量预览流。
正式录制时的"筛选"能力比较细:
- 应用黑名单:把不想入镜的应用(比如总弹通知的聊天软件)加进黑名单,录全屏时自动排除,逻辑在
RecordEngine.swift的prepRecord里; - 背景处理:可以保留壁纸、换成纯色,或开启透明背景配合 Alpha 编码;
- 鼠标高亮 + 放大镜:通过全局事件监听把光标位置和局部放大画面实时叠到画面上;
- 隐藏自身:默认不把自己的窗口录进去,也可以隐藏桌面文件、控制中心。
停止录制后,文件直接落在你设定的目录,可选"录完自动裁剪"。整个过程不需要任何命令行操作。
关键参数怎么调:帧率、队列深度与编码器
帧率控制用的是 SCK 的minimumFrameInterval。源码里这段配置值得注意:
// 60fps 及以上时 timescale 传 0,表示不节流,交给系统给满帧 conf.minimumFrameInterval = CMTime(value: 1, timescale: CMTimeScale(frameRate)) conf.queueDepth = 8 // HDR 录制时的缓冲深度含义是:低于 60fps 时由你指定节流值,60fps 及以上则不做节流,让屏幕内容变化多快就多快。queueDepth在 HDR 路径下固定为 8——Apple 文档建议不要超过 8,实测低于 4 会出现卡顿。
其他常用项都可以在设置面板里改:
| 参数 | 默认值 | 说明 |
|---|---|---|
| 帧率 frameRate | 60 | 30/60 等,经 minimumFrameInterval 生效 |
| 编码器 encoder | H.265 | H.264 兼容性最好;H.265 体积更小 |
| 分辨率 highRes | 2 | Retina 屏下按 2 倍像素录制,1 为 1 倍 |
| 音频格式 | AAC | 可选 AAC/ALAC/FLAC/Opus/MP3,采样率 48kHz 双声道 |
| 视频质量 | 1.0 | 直接映射到编码器码率参数 |
编码怎么选:数据说话
| 编码格式 | 相对体积 | 兼容性 | Alpha 通道 | 典型用途 |
|---|---|---|---|---|
| H.264 | 较大 | 几乎所有播放器/剪辑软件 | 不支持 | 通用分享 |
| H.265 | 约 60-70% | macOS 10.13+ | 不支持 | 存档、长视频 |
| HEVC with Alpha | 介于两者之间 | 仅 iMovie / FCPX | 完整支持 | 做透明贴图、画中画素材 |
一个细节:QuickRecorder 默认选 H.265,并且在起播前会用 VideoToolbox 预检当前分辨率是否在硬件 H.264 编码器支持范围内——不支持时弹窗让你切到 H.265,而不是默默落到软件编码把 CPU 拉满。macOS 15 上还解锁了 HDR 录制(走captureHDRStreamLocalDisplay预设 + BT.2020 PQ 色彩空间)。
进阶玩法
- 双音轨录音:关掉"将麦克风录制到主音轨"后,系统声和麦克风分两条音轨写入
.qma包(内含sys/mic两个文件 +info.json),剪辑时各自独立调音量; - 演讲者前置:macOS 14 以上直接把摄像头画面实时叠进录屏,12/13 则退化为摄像头悬浮窗(CameraOverlayer.swift);
- 脚本控制:内置 Scriptable.sdef,可用 osascript 触发录制:
osascript -e 'tell application "QuickRecorder" to start recording'配合系统快捷键(基于 KeyboardShortcuts 库)和自动更新(Sparkle),它可以作为长录、定时录场景的一部分。
谁适合用,下一步做什么
适合三类人:需要免驱动内录的教学/演示用户;录窗口级内容做开发演示的程序员;以及要用透明视频做特效合成的视频创作者。
下一步:
- 用 Homebrew 装好:
brew install lihaoyun6/tap/quickrecorder; - 从源码构建或阅读代码:
git clone https://gitcode.com/GitHub_Trending/qu/QuickRecorder,重点读RecordEngine.swift的prepRecord和record两个函数,一条完整的 SCK 录制链路就在那里。
【免费下载链接】QuickRecorderA lightweight screen recorder based on ScreenCapture Kit for macOS / 基于 ScreenCapture Kit 的轻量化多功能 macOS 录屏工具项目地址: https://gitcode.com/GitHub_Trending/qu/QuickRecorder
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考