开头就从Mac用户经常遇到的那个尴尬场景说起。不管是做软件教程、录网课、写游戏攻略还是做工作汇报,很多时候你需要的不是摄像头拍到你脸的那种屏幕录制,而是把电脑屏幕上正在播放的内容连同声音一起完整地“扣”下来。Mac自带的QuickTime Player和macOS 13之后的屏幕录制快捷键能轻松搞定画面,但声音却是另一回事——系统内部的声音,比如播放器里的电影、音乐软件里的歌曲、网页上的视频声音,默认情况下根本录不进去。很多人尝试后发现,录出来的视频要么静音,要么录到的是麦克风里嘈杂的现场音,气得直想砸电脑。我最初解决这个问题时也折腾了很久,踩过不少坑,后来终于摸清了一套在Mac上录屏并完整录制屏幕内部声音的可靠方案。这篇博文就把这套方案完整拆开讲清楚,从原理到选型到一步步实操,包括我用下来的各种经验和教训,全部写给需要的人参考。
正文内容从此处开始。
1. 首先要搞懂:为什么Mac录屏默认录不到内部声音
1.1 系统音频架构:CoreAudio与虚拟声卡
要解决录不到内部声音的问题,首先要明白Mac的音频处理机制。macOS的声音系统核心是CoreAudio,它负责管理所有的音频输入和输出设备。正常情况下,你从扬声器或耳机里听到的声音,是由系统音频引擎统一混合后送出去的,这个过程发生在系统内部。QuickTime Player在录屏时,它只负责采集屏幕图像和音频输入设备的数据,而这个“音频输入设备”默认就是你电脑上的麦克风(或者带有麦克风的耳机),并不是系统内部的音频流。
这就好比你想从一个水龙头里接水,但实际上水龙头接的是水管里已经混好的水,而麦克风是装在房间里的一个单独传感器,它接收的是空气传播的声波。除非你把扬声器旁边放个麦克风,让扬声器播放的声音再被麦克风重新采集一遍,否则麦克风根本“听不到”系统内部正在播放什么。这种物理方式虽然也能录到内部声音,但音质受到环境噪音、扬声器音质和麦克风采集性能的多重影响,效果非常不可控。我早期就是用过这种方法,录出来的声音闷闷的,房间里的空调声、键盘声全被录进去了,根本不能用作正式内容。
想要高质量地录制系统内部声音,思路就得改变:不能指望麦克风去“听”,而是要在系统内部直接建立一个“虚拟声卡”。所谓虚拟声卡,就是一个软件模拟出来的音频设备,它看起来像硬件,但实际不接任何物理设备,作用是接收系统输出的音频数据,然后把这些数据作为音频输入流转给其他应用。在Mac上,常见的选择是BlackHole。BlackHole装好之后,你会在音频设置里多出一个输入设备和输出设备,都是软件虚拟的。你可以把系统后台的声音输出到这个虚拟输出设备,然后让QuickTime录制这个虚拟输入设备,这样就能原汁原味地录到内部声音,音质没有任何损失。
1.2 麦克风永远录不到系统声音的本质原因
很多人一开始的困惑是,为什么我用QuickTime录屏并选择麦克风作为音源,还是听不到电脑播放的声音?因为麦克风采集的是物理世界的声波,而电脑扬声器发出的声音确实也是物理声波的一部分,理论上麦克风能“听到”扬声器的声音。但问题在于,很多时候我们用有线耳机、蓝牙耳机或者根本就是静音播放,那麦克风就什么都“听”不到。而且就算扬声器外放,录屏时麦克风也会把人声、键盘声、房间噪音全部录进去,后期处理起来非常麻烦。
从底层看,macOS在系统层面并不禁止应用录制系统内部声音,只是没有提供一个图形化的“系统声音输入源”。而虚拟声卡BlackHole正是利用了CoreAudio框架的扩展机制,在系统内部创建了一条音频通路。这条通路不会产生物理声波,纯数字信号,所以音质可以达到无损级别,这就是我最终选择这个方案的根本原因。每个说“Mac不能录屏内部声音”的人,其实都只是还没接触到虚拟声卡这个概念。
2. 方案选型:用哪种方式实现Mac录屏+内部声音
2.1 免费方案:BlackHole + QuickTime Player
这是我最推荐,也是使用率最高的一套方案,因为它结合了免费和可靠。BlackHole是一个开源的虚拟声卡驱动,完全免费,支持苹果芯片和Intel芯片的Mac,兼容macOS Big Sur到最新的系统版本。QuickTime Player是Mac自带的录屏工具,虽然功能简单,但在虚拟声卡的支持下,它在录制画面和音频的稳定性方面表现非常好。
这套方案的核心流程是:先安装BlackHole,然后在“音频MIDI设置”中创建一个“多输出设备”,让系统同时把音频输出到物理扬声器和BlackHole虚拟设备,这样录屏时你既能从扬声器听到声音(监听),又能让QuickTime从BlackHole获取内部声音。播放时你在电脑上正常听声音,录制时系统把同样的数字音频送到BlackHole,QuickTime录进去的就是纯正的内部音频。免费、音质无损、占用资源低,这是我在日常工作中最依赖的方案。
2.2 付费方案:Loopback、ScreenFlow、OBS等
如果愿意花一点钱换取更好的图形化操作界面,Loopback是一个不错的选择。Loopback来自Rogue Amoeba,它是专门为Mac设计的虚拟音频设备软件,可以非常直观地创建多通道声音组合。Loopback在音质和易用性上做得很好,在界面里拖拖拽拽就能把多个应用的声音混合成一个虚拟输入设备,尤其是当你要录制某个特定应用的声音而忽略其他应用时,Loopback比BlackHole更灵活。缺点是要付费,而且它需要安装额外的系统扩展,在系统更新后偶尔会出现需要重新授权的问题。
ScreenFlow是专为屏幕录制和视频编辑设计的一体化软件,它也内置了虚拟音频采集能力,可以录制内部声音,同时它还自带了多轨编辑、转场、字幕、动画等功能,适合做高质量视频课程或演示视频的人。直播类软件OBS同样能实现屏幕录制和内部声音采集,它通过虚拟音频捕获插件(比如BlackHole的OBS插件)可以同时采集多个音源,而且录制的视频可以自定义编码参数,输出文件大小更可控。OBS还自带直播功能,并且完全免费,适合既需要录屏、又需要推流直播的用户。
如果你只需要偶尔录个屏,没必要为一个功能单独买几百块的软件。如果长期做视频教程或在线课程,Loopback或ScreenFlow可能提升效率。我把常用的方案整理成表格给大家参考:
| 方案 | 成本 | 内部声音录制 | 操作难度 | 适用场景 |
|---|---|---|---|---|
| BlackHole + QuickTime | 免费 | 支持(纯数字) | 需要安装配置,一次搞定后用起来很顺手 | 日常录屏、软件教程、视频录制 |
| Loopback | 付费 | 支持(可混合多应用) | 图形化界面,容易上手 | 需要录制多路应用声音时更灵活 |
| ScreenFlow | 付费 | 支持(内置采集) | 一体化录制剪辑,上手较快 | 专业视频课程、演示视频 |
| OBS + BlackHole | 免费 | 支持(可多轨) | 界面稍复杂,需自定义参数 | 直播+录屏、需要输出精细化调整 |
2.3 免费方案和付费方案的关键差异
免费方案BlackHole + QuickTime最大的限制在于音频通道的配置不够灵活。比如你有两个应用同时播放不同声音,其中一个你不想录进去,在BlackHole单通道模式下就很难实现精确控制。Loopback可以图形化地把不同应用的输出拖拽进同一个虚拟设备,并且可以单独控制每个应用的音量、静音,这是它最值钱的功能。OBS的音频轨道在设计上更接近专业直播软件,其音频采集是基于系统输出,也可以结合BlackHole实现多轨混音。
另外一个必须注意的点是延迟。BlackHole虚拟声卡本身几乎不产生可感知的延迟,但在“多输出设备”模式下,如果你同时输出到蓝牙耳机和BlackHole,蓝牙耳机的延迟会比较高,因为蓝牙本身就带有比较大的音频编码延迟。如果对音画同步要求很严格,录制过程中最好用有线耳机或直接使用音箱监听,或者干脆使用“多输出设备”只选择内置扬声器和BlackHole,不勾选蓝牙设备。
3. 完美方案实操:从零配置BlackHole和QuickTime
3.1 安装虚拟声卡BlackHole
在动手安装之前,我先说明一下BlackHole的版本选择。BlackHole有两个主流版本,一个是标准版(支持16通道),一个是BlackHole 2ch版(只支持2通道)。对于绝大多数人来说,2ch版本就够了,它的设备名称显示为“BlackHole 2ch”,在配置的时候更不容易搞混,而且对系统资源占用更小。如果你要录制立体声音乐素材,标准版16通道反而更容易让人困惑。所以我会推荐直接安装“BlackHole 2ch”。
安装方式最简单的是直接用Homebrew。如果你的Mac上还没装Homebrew,也可以在官网下载安装包来安装。我经常用Homebrew,因为升级和卸载都方便。如果使用Homebrew安装,在“终端”里执行:
brew install blackhole-2ch安装完成后,打开“应用程序-实用工具-音频MIDI设置”,你会在左侧设备列表里看到新增的“BlackHole 2ch”输入设备和输出设备。这时候还不需要做任何设置,接下来就要配置系统的音频输出了。
注意一点:安装后第一次使用之前,有时需要在“系统设置-隐私与安全性-麦克风”里让QuickTime Player录音权限通过。虽然QuickTime在录制时会自动弹窗提示,但保险起见,还是建议提前检查一下。
3.2 配置多输出设备:一边监听一边录音
之所以要配置“多输出设备”,是因为默认情况下,如果你只把系统的音频输出选择为BlackHole 2ch,那么你的扬声器或耳机就会立刻静音。你只能在系统静音和录音之间二选一,这显然不符合需求。所以我需要创建一个“多输出设备”,让系统同时把音频输出到物理扬声器和BlackHole 2ch。
在“音频MIDI设置”窗口的左下角,点击“+”号,选择“创建多输出设备”。这时候左侧会出现一个“多输出设备”,在右侧的“使用”列表里,勾选你电脑的内置扬声器(可能叫“MacBook Pro扬声器”或“外置扬声器”)和“BlackHole 2ch”。这样这个多输出设备就把内置扬声器和BlackHole绑定在一起了,系统声音会同时送向它们。
创建完毕后,打开“系统设置-声音-输出”,在输出列表里把声音输出切换到刚创建的“多输出设备”。点击多输出设备的名称可以重命名,比如叫“监听+录音”,方便后续识别。这里我建议不要勾选“漂移校正”功能,因为它在你录制长视频时可能会导致输出到BlackHole的音频和扬声器不同步,尤其在录音时间很长时更容易出问题。默认状态下不勾选“漂移校正”反而是最稳定的方案。
配置完成后,你可以先播放一段音乐或视频测试一下,确认扬声器能正常听到声音,同时BlackHole输入设备有电平跳动。打开“音频MIDI设置”的“显示-显示输入电平”即可看到“BlackHole 2ch”输入电平在动,说明系统音频正在被虚拟声卡接收到。
3.3 QuickTime录屏设置:把内部声音录进去
当系统声音已经混入BlackHole后,录屏设置就很简单了。打开QuickTime Player,点击顶部菜单栏“文件-新建屏幕录制”,或者直接按快捷键Control + Command + N。在屏幕录制界面,你会发现QuickTime提供“选项”按钮,点击之后里面有一个“麦克风”下拉菜单,选择“BlackHole 2ch”作为音源。
如果只打算录制系统内部声音,就这么简单。点击录制按钮后,QuickTime会开始采集屏幕画面和BlackHole 2ch输入通道的数字音频,视频录制完后,用QuickTime直接播放这个文件,你就能听到播放器里的内部声音了。
这里有个操作细节:在录屏之前,建议先在系统音量设置里,把系统主音量调到合适的值,同时把正在录制的应用(比如视频播放器或浏览器)的音量也做一个调节,否则录进去的音频音量可能过大或过小。QuickTime录制时没有独立的音频电平显示,一旦录完再发现声音爆了,就得重录,所以提前调节音量是非常重要的经验。我通常会把系统主音量调到50%左右,播放应用内音量调到80%左右,再结合录屏后播放试听来微调。
3.4 进阶:同时录制内部声音和麦克风人声
如果你要做游戏解说或视频教程,通常需要把电脑内部声音和自己的麦克风声音一起录进去。BlackHole + QuickTime本身录不了两个音源(QuickTime只能选一个输入),但可以借助“音频MIDI设置”里的“聚合设备”功能,把“麦克风”和“BlackHole 2ch”合在一起变成一个输入设备。然后让QuickTime选择这个“聚合设备”作为麦克风,这样录出来的视频里就会同时包含内部声音和人声,不过这两路声音会混在一轨上,后期无法分开调整。
创建聚合设备的过程和多输出设备类似:在“音频MIDI设置”左下角点击“+”号,选择“创建聚合设备”,然后在右侧勾选“MacBook Pro麦克风”和“BlackHole 2ch”。勾选之后,这个聚合设备就相当于一个同时有两个输入通道的输入设备,QuickTime录制时选择这个名字即可。如果你用的麦克风是USB麦克风,名字会显示为对应型号,操作方式完全一样。我个人在录制教程时,通常用免费且功能更强大的OBS来同时处理内部声音和人声轨,可以直接分成两个音轨,后期处理很方便,但如果你只想快速录个视频,聚合设备就够用了。
4. 常见问题与排查技巧实录
4.1 录出来的视频没有声音
这个问题是最多人遇到的,原因通常有三个。第一种是QuickTime录制时没有选择BlackHole作为麦克风,默认使用了系统麦克风,于是只录到了环境音。第二种是系统音频输出没有切换到“多输出设备”,系统仍只输出到扬声器,BlackHole根本没有接收到音频。第三种是音量设置有问题,系统音量设为静音,或者应用内音量静音,导致BlackHole收到的音频也是静音。
排查思路就是按顺序检查。在“系统设置-声音”里确认输出是“多输出设备”,并且“输出音量”不为0。在“音频MIDI设置”里查看BlackHole 2ch的输入电平是否有跳动。如果输入电平有跳动而QuickTime录出来还是没声音,那就重新在QuickTime录屏选项里确认选择了BlackHole 2ch。顺带提一句,QuickTime的“麦克风”选项里的名称可能显示为“系统输入”,但这个名称在选了BlackHole后有时会显示为“BlackHole 2ch”,不要选错成内置麦克风。
4.2 蓝牙耳机播放声音时有明显延迟
用蓝牙耳机监听时,由于蓝牙音频传输的固有延迟,声音会明显慢于画面,导致录制出来的视频音画不同步的问题尤其严重。这不一定是配置错误,而是蓝牙耳机本身的问题。最好的解决方法是在录制期间使用有线耳机或直接用显示器、音箱自带扬声器。如果一定要用蓝牙耳机监听,建议在“音频MIDI设置”里把“多输出设备”里的蓝牙设备取消勾选,只用扬声器加BlackHole组合,蓝牙耳机别接进这个输出设备。
有一个小技巧是,如果录制时你不怕静音,可以完全不选“多输出设备”里的扬声器,只让系统输出到BlackHole。这样录屏时电脑扬声器静音,没有延迟问题,录好的视频再把音频播放出来,效果就是正常的。通常情况下这个模式是更适合不需要实时监听的场景。我自己在录长视频时就会用这个方案,因为不用监听,画音永远同步。
4.3 系统更新后虚拟声卡失效
升级macOS版本之后,BlackHole偶尔会出现不被系统识别的情况。原因是系统更新时可能会重置音频驱动设置,或者需要重新授权系统扩展权限。遇到这种问题,先不要着急重装。可以试着重启电脑,再打开“音频MIDI设置”看是否能看到BlackHole。如果看不到,就用Homebrew重新安装一遍:
brew reinstall blackhole-2ch然后再检查“系统设置-隐私与安全性-麦克风”权限,确保QuickTime或你使用的录屏软件仍然有麦克风权限。目前新版BlackHole是使用DriverKit框架开发的,配合苹果芯片的Mac一般不会涉及到特别繁琐的启用内核扩展流程,所以重装一次基本能解决。
4.4 部分应用播放不出声音
偶尔会遇到某个应用在BlackHole模式下播放不出声音,比如某些对音频独占性要求较高的游戏或播放器。这类应用可能会尝试独占音频输出设备,而BlackHole多输出设备这种组合设备并不支持所有应用独占,所以该应用的音频就会被静音。这时可以尝试在“音频MIDI设置”里把输出设备直接切换到“BlackHole 2ch”(不改多输出设备),让该应用独占使用BlackHole输出音频。接着用QuickTime录制BlackHole,这时应用的声音就能录进去。缺点是扬声器没有声音,不能实时监听,但录音结果是好的。如果必须同时监听,可以试试先打开应用播放,再切换系统输出到多输出设备,有时候能解决。
4.5 录音音质调优:采样率与音量
BlackHole默认运行在44.1kHz或48kHz采样率,但如果你在“音频MIDI设置”里修改过“多输出设备”的采样率,可能会让录制的音质发生细微变化。我的建议是保持默认的44.1kHz即可,因为大多数在线视频平台和默认播放器都兼容这个采样率。如果你要录制的音乐或混音素材本身是48kHz的,可以在“音频MIDI设置”里把BlackHole设备采样率设置为48kHz,否则可能出现轻微的音调变化或声音发闷。在录制前点击BlackHole设备右侧的“格式”下拉菜单,把它设置成与系统输出相同的采样率最稳妥。
音量方面,QuickTime没有录音电平增益,完全依赖系统输出电平,所以最好在“系统设置-声音”里手动调整输出音量,让录出来的音频峰值不超过0 dB。如果没有外接调音台或软件压缩,保持音量和清晰度平衡最好的办法是把系统主音量调在70%-80%之间,应用内音量调在60%-70%之间,录一段测试素材播放试听后微调。记住,宁可声音偏小,也不要在0 dB以上溢出,否则录制出来的音频会出现硬削波,后期很难修复。
5. 更多实用技巧和我的使用心得
5.1 快捷键与系统级录屏的替代方案
如果你使用的是macOS 13或更高版本,系统自带的“屏幕录制”快捷键(Shift + Command + 5)也支持选择音频输入设备,只需要在底部选项里把麦克风切换为“BlackHole 2ch”,系统自带的录屏工具也能录到内部声音。它的好处是文件默认保存到“桌面/屏幕录制”,格式是MOV,对新手更友好。不过它不支持单独录制某个窗口或自定义麦克风音量,功能比QuickTime略弱一点,但对日常使用足够了。
5.2 录制后的视频太大:转码与压缩
QuickTime录制的屏幕视频默认编码可能是ProRes或者H.264,码率往往偏高,文件体积很大。录完视频之后,如果想要更易分享或上传到网络,可以用HandBrake进行压缩。HandBrake是免费开源的视频转码工具,在“视频”选项卡里选择H.264编码,变更“恒定质量”为RF值20左右,效果和体积就能达到很好的平衡。一个30分钟的屏幕录制视频,原始体积可能达到2GB,经过HandBrake压缩后能降到200MB左右,画面清晰度没有明显损失。
5.3 核心原则:虚拟声卡是Mac录屏的根基
不管用什么录屏软件,想要录制Mac内部声音,本质上都绕不开虚拟声卡这个思路。BlackHole在Mac音频生态里扮演了不可替代的角色,它免费、稳定、开源、支持最新芯片和系统。即使你以后换用OBS或者Loopback,BlackHole依然可以作为底层音频桥接工具存在。在几乎所有音频录制教程或直播配置教程里,BlackHole都是最常被提到的虚拟音频驱动,即使暂时不需要录制内部声音,把它装在Mac上作为一个备用音频工具,也不会有什么副作用。
我个人在实际操作中最满意的一点是,这套方案配置完成后几乎不需要反复调整。我日常录制软件教程的流程是:打开QuickTime选择BlackHole 2ch,开始录屏,结束后直接用QuickTime把录制文件剪辑一下(QuickTime自带的裁剪功能和影片裁剪快捷键非常好用),再导出成MP4或者直接用HandBrake压缩,整体效率非常高。BlackHole在后台占用资源也很小,录制过程中几乎感觉不到它的存在,这一点比某些大型录屏软件要轻量很多。
最后再分享一个小技巧:录屏前打开“显示器”的“性能”偏好设置,把显示器分辨率调整到合适的大小,避免录制的视频文件过大;同时关闭不必要的通知弹窗和Dock上的动画,可以让录制内容看起来更专业。如果录制演示文稿或代码教程,在开始录屏前做一个简短的“试录+试播”检查音频和画面,这短短的30秒能省下后期重新录制的几个小时。希望这套方案能帮到每一位被Mac录屏音频问题折磨过的朋友。