macOS系统声音录制指南:从虚拟声卡到ffmpeg实践

macOS系统声音录制工具DesktopAudio:从虚拟声卡到批量录制全指南 在Mac上录制电脑内部播放的声音,长期以来绕不开虚拟声卡、系统音频链路和采样率匹配等技术门槛。不同于Windows的立体声混音,macOS默认不提供直接抓取系统输出的录音源,这让很多用户不得不在录屏、外接音频线或浏览器方案之间反复尝试。DesktopAudio正是为解决这一痛点而生的工具,它将系统播放内容重新暴露为可被录音软件识别的输入设备,让QuickTime、Audacity等任意支持音频输入的应用都能直接录制系统声音。理解其背后的虚拟声卡原理,掌握音频设备的选择与参数配置,是顺利录制播客素材、网课回放 阅读详情

录制 Mac 正在播放的声音,听起来像是一个很基础的需求:想保存一段网页直播、记录视频会议的讨论、采集某个播放器的音频,或者给游戏画面配上操作解说。但在 macOS 上,这件事并没有想象中那么简单。系统默认只允许录音软件读取麦克风这类输入设备,而扬声器、耳机对应的是输出设备,普通应用默认拿不到正在播放的内容。于是出现了 DesktopAudio 这类工具——它做的事情,就是让 Mac 正在播放的声音能够被录制下来。这篇文章会从 macOS 音频链路说起,把一个可以实际运行的“系统录音”流程完整搭起来,再讲清楚参数、验证、排错和生产环境注意事项。

1. 先理解 macOS 音频链路:为什么系统声音录不下来

1.1 默认状态下,输出设备与输入设备是两条不同链路

macOS 的音频体系建立在 Core Audio 之上。系统把声音设备分为输入和输出两端:麦克风是输入设备,扬声器、耳机、蓝牙音箱是输出设备。播放器把音频数据交给 Core Audio,Core Audio 再送到默认输出设备;录音软件请求的却是输入设备,拿到的是麦克风或其他输入源的数据。

这两条链路在系统层面默认不互通。所以你在录音软件里看到的“麦克风”列表里,不会出现“系统正在播放的声音”这个选项。这不是某个 App 的限制,而是 macOS 音频架构的设计结果。要录制系统声音,必须先做一个“桥接”:让系统输出的数据,能出现在某个输入端口上。

理解这一点,能解释很多看似奇怪的现象。例如录屏软件可以录到画面,却经常录不到电脑内部声音;又例如把系统音量静音后,录音结果也跟着变静音。这些现象都指向同一个根因:系统声音不是天然可采集的视频轨或音频轨,它需要一个专门的采集入口。

1.2 虚拟声卡:把输出“送进”输入端口

虚拟声卡(Virtual Audio Device)就是这座桥。它不是一个物理设备,而是一个借助系统音频驱动接口实现的虚拟设备。BlackHole 是这类工具里非常有代表性的开源实现:安装后,系统里会出现一个名为 “BlackHole 2ch” 的设备,它同时具备输出和输入两端。

应用向 BlackHole 播放声音时,声音不会进入真实扬声器,而是直接落到 BlackHole 的输入端口。录音应用从这个输入端口读取数据,就能拿到系统正在播放的内容。整个过程没有接线、没有物理设备,纯粹是系统音频引擎内部的数据流转。

这里有一个容易误解的地方:BlackHole 本身不会“录音”,它只负责把数据从输出端搬到输入端。真正把数据落盘的任务,仍然要由录音软件或脚本完成。把虚拟声卡当成“一根虚拟音频线”来理解,比把它当成“录音机”更准确。

1.3 DesktopAudio 在整套方案里的位置

DesktopAudio 这类工具通常做的事情,是把上面这套流程封装成更简单的操作:要么提供图形界面,要么把“选择虚拟设备、设置采样率、开始录制、保存文件”几步串成一个命令行工具。工具外壳会变,核心链路不变。不管用 DesktopAudio、ffmpeg、Audacity,还是自己写脚本,最终都要依赖“虚拟音频设备 + 录音程序”的组合。

所以在实际踩坑的时候,不要一遇到问题就怀疑工具本身。如果系统链路没有问题、虚拟声卡工作正常、录音程序也读到了数据,那么改哪一层都是改封装,而不是改核心。下面先从最直接的方式把链路搭出来,再解释参数和排查手段。这样即使以后换一个录制工具,排查思路也完全复用。

补充一下,macOS 上出现过多个类似方案,了解它们能帮助选型:

方案 是否开源 维护状态 特点
Soundflower 开源 不再活跃维护 早期常用虚拟声卡,Apple Silicon 下存在兼容问题
BlackHole 开源 活跃 免费、稳定,支持多通道版本
Loopback 商业软件 活跃 面向多应用混音,易用性好
Background Music 开源 更新较慢 可调整单个应用音量,同时支持录音

2. 环境准备:在 Mac 上先搭好虚拟音频链路

2.1 确认 macOS 版本和芯片

开始前先确认 Mac 是哪一代系统、是 Intel 还是 Apple Silicon。查询方法:

sw_vers
uname -m

输出示例:

ProductName:        macOS
ProductVersion:     14.5
BuildVersion:       23F79
arm64

arm64 表示 Apple Silicon, x86_64 表示 Intel。这个信息决定了后续安装驱动时是否要处理权限问题。BlackHole 的安装包在这两类芯片上都能用,但如果是自行编译或使用旧版驱动,一定要确认对应架构,否则会出现设备安装成功却无法识别的问题。

2.2 安装 Homebrew 作为基础包管理器

虚拟声卡和录音工具都用 Homebrew 安装,最省事。如果系统里还没有,执行官方安装命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEA
Mac内录系统声音:原理、虚拟声卡与FFmpeg实操 系统声音录制是音频处理中的常见需求,但在macOS上默认无法直接实现。由于Core Audio将输入与输出设备隔离,录音软件只能读取输入设备,而正在播放的音频流向输出设备,导致内录受阻。解决思路是引入虚拟声卡或多输出设备,将输出音频回环到可录制的输入通道。这类技术价值在于,能够为网课录制、视频剪辑、在线会议存档等场景提供干净无噪的音频采集方式,避免使用麦克风录音带来的环境干扰。实际操作中,BlackHole作为开源虚拟声卡,配合FFmpeg的avfoundation采集能力,可以快速搭建命令行录音流程;开发 阅读详情

相关推荐

Mac 内录系统声音:虚拟声卡原理与 ffmpeg 实操

在数字音频处理中,录制系统播放的声音是内容创作与信息备份的常见需求。macOS 出于权限与版权保护,默认不允许直接捕获内部音频输出,导致许多用户误以为 Mac 无法内录。实际上,通过虚拟声卡技术可以将系统音频路由到虚拟输入设备,再借助 ffmpeg 等工具完成高质量采集。这一方案广泛适用于视频剪辑、游戏录屏、在线会议备份等场景。理解麦克风权限、音频路由、BlackHole 安装及多输出设备配置等关键环节,是稳定录制 Mac 正在播放声音的基础。本文结合系统原理与工程实践,提供了一套完整的 macOS 内录操

weixin_32660831的博客 278

Mac系统音频录制:虚拟声卡实现无损内录指南

系统音频录制是许多Mac用户会遇到的实际需求,但默认情况下Mac无法直接录下自身播放的声音,因为输出与输入设备在信号链上是独立的。虚拟声卡技术的出现解决了这一痛点:通过创建软件级音频设备,将系统播放的信号路由到录音输入,无需经过麦克风与空气传播,即可获得干净无损的音频流。这种音频路由机制不仅适用于QuickTime等基础录音工具,也是BlackHole、Loopback等专业方案的核心原理。掌握虚拟设备配置、采样率统一和电平控制,就能轻松应对线上会议记录、直播切片、播客素材采集等常见场景。作为轻量级实现,D

weixin_29201859的博客 241

Mac系统音频录制全攻略:ScreenCaptureKit与BlackHole实践

系统音频录制是多媒体内容创作和自动化处理中的重要环节。在macOS上,由于Core Audio将音频输出与输入设备严格隔离,系统播放的声音无法像Windows那样直接通过“立体声混音”捕获。要实现这一目标,通常借助虚拟声卡(如BlackHole)或Apple官方ScreenCaptureKit框架。虚拟声卡通过创建多输出设备桥接音频流,而ScreenCaptureKit则允许在捕获屏幕内容时同步获取系统音频,两者各有适用场景。理解这些底层原理,有助于解决直播录音、会议备份、游戏高光剪辑等真实需求中的技术难点

weixin_33393017的博客 437

从DJ Set到在线电台直播:一次完整的音频直播工程技术拆解

在线电台的DJ直播,本质上是一次小型的音频直播工程实践。从DJ控制器的音频输出到听众耳机里的声音,需要经过音源预处理、音频路由、响度控制、编码压缩、网络推流与延迟补偿等多个环节。其中,统一采样率、响度归一化、正确配置虚拟声卡与推流参数,是保障声音稳定、避免爆音与断流的关键。这类技术链路不仅适用于音乐电台节目,也广泛用于线上技术分享、产品发布等活动。通过工程化的流程管理,可以显著提升直播的现场体验与可复现性。本文以Techno DJ Set节目为例,拆解从素材规范化到发布归档的完整技术流程,为音频直播实践提供

weixin_33795806的博客 412

数字人直播间搭建全流程:从形象生成到OBS推流实操指南

数字人直播本质上是音频驱动与图像合成技术的组合应用,通过将语音映射为面部动作和口型,再叠加静态形象与推流工具,即可构建可批量生产内容的虚拟直播间。其核心价值在于降低内容制作门槛,让个人创作者无需真人出镜也能持续产出口播视频,适用于直播带货、知识分享、品牌宣传等场景。整个链路涉及AI绘画生成形象、TTS语音合成、视频自动生成、OBS虚拟摄像头与虚拟声卡配置等环节。本文从零开始拆解每一环的具体操作,覆盖录播循环与实时驱动两种方案,并给出硬件选型、批量生成脚本、资源监控及版权合规建议,帮助读者快速跑通最小可用闭环

weixin_34341229的博客 371

数字人直播OBS去重实战:画面与音频差异化优化方案

随着数字人直播进入常态化运营,单纯循环播放预设素材带来的机械感成为影响观众留存的关键瓶颈。在直播推流链路中,OBS作为核心的素材编排与编码输出层,不仅承担画面合成任务,也负责音频混合与最终推流。要解决内容重复问题,需要从画面与音频两个维度同时发力:画面侧通过多场景切换、动态文本、时钟、浏览器源以及适度滤镜调色,制造“实时进行”的观看体验;音频侧则依靠扩充TTS文案库、轮换背景音乐、配合OBS音频滤镜,并借助音频指纹工具(如fpcalc)量化验证不同时间段的音频差异。这套方法将内容质量优化与直播工程实践结合,

weixin_34008805的博客 484

QuickRecorder 1.5.4 macOS录屏指南:安装、参数配置与故障排查

屏幕录制是开发、教学和会议场景中的基础需求,其核心原理是通过系统级框架采集屏幕画面与音频流,再经编码封装为视频文件。在 macOS 上,ScreenCaptureKit 提供了原生的屏幕采集能力,配合 AVFoundation 可实现系统声音与麦克风的分路混音,无需虚拟声卡即可完成多路音频合成。这一技术方案的价值在于降低录屏工具对内核扩展的依赖,提升权限管理的透明度与录制稳定性。典型应用包括网课录制、代码演示、线上评审等。QuickRecorder 1.5.4 正是基于该链路设计的开源工具,支持灵活选择录制

weixin_34088583的博客 422

QuickRecorder 1.5.4 macOS录屏指南:ScreenCaptureKit与音频混音实战

屏幕录制是开发与内容创作中的基础需求,其核心原理涉及系统级采集框架与音视频编码技术。在macOS生态中,ScreenCaptureKit提供了窗口、区域、全屏及应用四种采集模式,并支持系统音频与麦克风混音,解决了原生录屏无法内录系统声音的长期痛点。合理配置码率、帧率与音频增益,可显著提升输出文件质量与后期剪辑效率。QuickRecorder 1.5.4 正是基于该框架的开源实现,适用于教程制作、会议记录与缺陷复现等场景,兼顾轻量与稳定。

weixin_28365523的博客 228

虚拟声卡原理与实战:解决多路音频路由、环回捕获与开发测试难题

虚拟声卡是一种运行在操作系统内核层的软件音频设备,通过模拟标准音频输入/输出接口,实现声音流的可编程路由、低延迟环回捕获和隔离式测试。其核心原理是绕过WASAPI/Core Audio的单设备绑定限制,在应用与硬件之间插入可控中间层,从而支撑多轨道混音、所播即所录、AI语音调试等高阶需求。相比真实声卡的固定通道与硬件依赖,虚拟声卡提供系统级兼容性与零物理风险的音频沙盒环境,广泛应用于直播混音、在线教育音轨分离、语音SDK自动化测试等场景。本文深入解析VB-Audio、Voicemeeter、BlackHol

weixin_33585822的博客 168

QuickRecorder 1.5.4:macOS开源录屏工具安装、配置与自动化

在macOS平台,录屏工具的选择往往受制于底层捕获框架的差异。了解ScreenCaptureKit与ReplayKit等技术原理,有助于选取更稳定、可审计的录屏方案。开源录屏工具QuickRecorder 1.5.4基于ScreenCaptureKit构建,支持窗口级捕获与系统内录音频,并提供H.264/HEVC/无损编码选项,兼顾画质与文件体积。通过合理的权限配置、帧率与音频设置,可以避免黑屏、空音轨等常见问题。此外,借助命令行参数和脚本可将其转化为自动化录制引擎,适合课程录制、会议存档、软件演示等场景。

weixin_33824385的博客 228

MAC声卡Voodoo

装了MAC找不大声卡驱动的同学可以试试这个,这个很好用,一直在用,现在更新到8.8了,可是还是很喜欢这个。

告别VLC!用Python+OpenCV实时拉取RTSP监控流,并实现抽帧降低延迟(附完整代码)

本文介绍了一种基于Python和OpenCV的低延迟RTSP监控流处理方案,通过抽帧技术显著降低延迟并保持视频分析准确性。文章详细讲解了RTSP流处理的基础挑战、抽帧技术原理与实现,以及完整的低延迟处理方案,包括硬件加速配置和动态抽帧算法,帮助开发者优化监控视频流处理性能。

weixin_30333885的博客 266

带标签的PHM2009齿轮箱数据集

PHM2009附加数据集—带标签的齿轮箱数据集,可用于测试算法

qq_39379705的博客 4867

从报错到定位:Memtest86 DQ位算法解析与实践指南

本文深入解析了Memtest86内存测试工具报错信息的解读方法,重点介绍了通过地址解析、数据转换、位比对和DQ定位四步算法,精准锁定故障DQ位的实践流程。文章以DDR4和DDR5为例,详细拆解了从十六进制报错到二进制比对的完整步骤,并提供了从单个报错分析到故障模式诊断的进阶指南,帮助用户将抽象的报错信息转化为具体的维修或排查依据。

sre5engineer的博客 483

10X Visium空间转录组学入门:从芯片结构到数据分析全流程解析(附避坑指南)

本文全面解析10X Visium空间转录组学技术,从芯片物理结构、探针化学原理到湿实验全流程操作与避坑指南,并详细介绍了从FASTQ数据到空间可视化的核心分析流程。文章旨在帮助科研人员跨越从理论到实操的鸿沟,掌握从样本准备、文库构建到使用Space Ranger和Seurat进行数据分析与可视化的完整路径,为组织生物学研究提供清晰的实践指引。

weixin_29306011的博客 156

金融领域强化学习在多资产类别动态交易执行中的应用

在金融市场中,多资产类别的交易执行面临着诸多挑战,如市场的不确定性、资产间的复杂相关性等。传统的交易策略往往难以适应动态变化的市场环境。本研究的目的在于探索如何运用强化学习技术,实现多资产类别在动态市场环境下的高效交易执行。具体范围涵盖了从强化学习的基本原理到在多资产交易场景中的实际应用,包括核心算法的实现、数学模型的构建以及项目实战等方面。本文首先介绍研究背景,包括目的、预期读者和文档结构。接着阐述核心概念,包括强化学习和多资产类别动态交易执行的原理及其联系。

AI 领航者的博客 624

AD24层次原理图设计避坑指南:如何解决端口连接与自动交叉引用问题

本文深入解析AD24层次原理图设计的核心机制,聚焦端口连接错误、自动交叉引用干扰等常见问题。通过对比自上而下与自下而上设计流程,提供端口类型匹配、命名规范等实用解决方案,并指导如何关闭烦人的红色框线视觉干扰,帮助工程师高效避坑,实现复杂系统的模块化设计。

wdx01234567的博客 611

YOLO26训练自己的数据集,从代码下载到实例测试 (含YOLO26网络结构图)

在Windows10上配置CUDA环境教程2026年1月14日,YOLO26是最新发布的计算机视觉模型。支持多种任务,包括目标检测、实例分割、图像分类、姿态估计、有向目标检测以及物体跟踪等。以上就是YOLO26训练自己数据集的全部过程啦,欢迎大家在评论区交流~

Limiiiing的博客 6331

Headless Browser 反检测:如何在自动化测试和爬虫中模拟真实用户环境和指纹,以规避检测?

这是最基本的操作,你需要将 Headless Browser 的 User-Agent 修改成一个真实的 User-Agent。我是你们的老朋友,代码界的段子手,今天咱们来聊聊一个让爬虫工程师和自动化测试工程师头疼,但又不得不面对的问题:Headless Browser 的反检测。Headless Browser 的反检测是一个持续对抗的过程,网站的反爬虫机制会不断升级,你需要不断地学习新的反检测技巧。以上只是一些基本的反检测手段,如果你的目标网站的反爬虫机制比较高级,那么你需要使用更高级的技巧。

weixin_41455464的博客 1655

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

上一篇: VBA编程中Nothing、Empty、Null与Error的深度解析与实战应用
下一篇: Python turtle库实战:从零绘制动态圣诞冬日场景
易水飞霜
博客等级 码龄9年 46粉丝 1396原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值