macosrec: 让macOS窗口截图和录制变得简单
在日常工作中,我们经常需要对特定的应用窗口进行截图或录制视频,无论是为了制作教程、记录bug还是分享演示。虽然macOS内置了一些截图工具,但它们往往不够灵活,特别是在需要频繁操作或自动化处理时。这就是macosrec诞生的原因 —— 它旨在为开发者和power users提供一个强大而灵活的命令行工具,使窗口截图和录制变得简单高效。
什么是macosrec?
macosrec是一款开源的命令行工具,专门用于在macOS系统上对指定窗口进行截图和录制视频。它由GitHub用户xenodium开发,目前在GitHub上已获得100多颗星星。macosrec不仅支持基本的截图和录制功能,还集成了OCR(光学字符识别)和语音转文本等高级特性,为用户提供了丰富的使用场景。
macosrec的主要功能
- 窗口截图:可以对指定的应用窗口进行精确截图。
- 视频录制:支持录制指定窗口的视频,可输出为GIF或MOV格式。
- OCR文字识别:能够识别屏幕区域内的文字,并将结果输出或保存到剪贴板。
- 语音转文本:可以将音频文件中的语音转换为文本。
- 灵活的命令行选项:提供多种参数来控制输出格式、文件路径等。
安装macosrec
macosrec的安装非常简单,特别是对于使用Homebrew的用户。只需在终端中执行以下命令:
brew tap xenodium/macosrec
brew install macosrec
对于喜欢从源码构建的用户,可以克隆GitHub仓库并使用Swift编译:
git clone https://github.com/xenodium/macosrec.git
cd macosrec
swift build
使用macosrec
macosrec的使用方法非常直观。以下是一些常见的使用场景:
列出可录制的窗口
在进行截图或录制之前,你需要知道目标窗口的ID。使用以下命令列出所有可录制的窗口:
macosrec --list
输出示例:
21902 Emacs
22024 Dock - Desktop Picture - Stone.png
22035 Firefox - Planet Emacslife
截图
使用--screenshot
参数加窗口ID或应用名称进行截图:
macosrec --screenshot 21902
或者:
macosrec --screenshot Emacs
截图将保存在桌面上,文件名包含时间戳和应用名称。
录制视频
使用--record
参数开始录制视频:
macosrec --record 21902 --gif
这将开始录制ID为21902的窗口,并将结果保存为GIF格式。要结束录制,可以按Ctrl+C或在另一个终端会话中运行macosrec --save
。
OCR文字识别
macosrec还支持OCR功能,可以识别屏幕上的文字:
macosrec --ocr
执行此命令后,你可以选择屏幕上的一个区域,macosrec将识别该区域内的文字并输出。
语音转文本
macosrec甚至支持将音频文件中的语音转换为文本:
macosrec --speech-to-text --locale "en-GB" --input path/to/audio.mp3
这个功能可以帮助你快速转录录音或视频的内容。
macosrec的优势
- 命令行操作:适合自动化脚本和工作流程。
- 精确控制:可以准确地选择要截图或录制的窗口。
- 多格式支持:支持PNG、GIF、MOV等常用格式。
- 集成OCR和语音识别:为内容处理提供了更多可能性。
- 开源项目:可以根据需要进行定制和扩展。
实际应用场景
- 软件开发:快速捕获和分享bug截图或录屏。
- 教程制作:轻松录制应用操作过程,制作GIF教程。
- 内容创作:为博客文章或文档快速生成截图和动图。
- 自动化测试:将macosrec集成到自动化测试流程中,自动捕获界面变化。
- 会议记录:使用OCR功能快速提取幻灯片或白板上的文字内容。
与Emacs集成
对于Emacs用户,macosrec的作者还提供了一种通过dwim-shell-command将macosrec集成到Emacs中的方法。这样,你就可以直接在Emacs中使用快捷键来触发macosrec的各种功能,进一步提高工作效率。
(use-package dwim-shell-commands
:bind (("C-c _" . dwim-shell-commands-macos-screenshot-window)
("C-c (" . dwim-shell-commands-macos-start-recording-window)
("C-c )" . dwim-shell-commands-macos-end-recording-window)))
注意事项和优化建议
-
GIF文件大小:录制的GIF文件可能会比较大。可以使用gifsicle等工具进行优化:
gifsicle -O3 large.gif --lossy=80 -o smaller.gif
-
窗口大小变化:目前macosrec不支持在录制过程中改变窗口大小。如果需要这个功能,可以考虑向项目提交PR。
-
性能考虑:对于长时间或高分辨率的录制,可能需要考虑使用更高性能的机器或调整录制参数以平衡质量和文件大小。
结语
macosrec为macOS用户提供了一个强大而灵活的工具,使窗口截图和录制变得简单高效。无论你是开发者、内容创作者,还是普通的power user,macosrec都能为你的工作流程带来显著的改善。通过命令行操作,它不仅方便集成到各种自动化脚本中,还能与其他工具如Emacs无缝配合,大大提高工作效率。
如果你经常需要处理窗口截图和录屏,不妨尝试一下macosrec。它可能会成为你工具箱中不可或缺的一员,帮助你更快、更好地完成工作。记得查看官方GitHub仓库以获取最新的更新和使用技巧。
最后,感谢开发者xenodium的贡献。如果你觉得macosrec对你有帮助,别忘了在GitHub上给项目点个星星,或者考虑通过GitHub Sponsors支持作者的工作。开源社区的发展需要每个人的参与和支持!
图:macosrec录制演示