先说我自己的经历。有段时间我经常要录投屏演示视频,录完一播放,人脸是清楚了,声音却小得跟蚊子叫似的,系统音量拉到80%还是觉得憋屈。最诡异的是,同一台电脑,同一个投屏画面,我直接对着扬声器听,声音明明是正常的。这个“投屏内录比正常speaker播放声音小”的问题,我当时排查了整整一个下午,最后把所有相关的技术点捋了一遍才彻底弄明白。后来帮朋友解决类似问题,才发现这根本不是什么个例,而是投屏音频链路和本地音频链路从源头就不一样导致的必然结果。
这篇文章不打算只给结论,我把背后的原理、实际排查过程、以及最终怎么调,都完整写出来。如果你也遇到过内录音量小、波形扁、和现场听感对不上这类问题,这篇文章应该能帮你省下不少弯路。
1. 先把问题拆明白:投屏内录和正常播放到底差在哪
1.1 声音不是从“同一个喇叭”里出来的
先说一个最容易被忽略的事实:当我们说“正常speaker播放”时,声音走的是笔记本或台式机的本地声卡,声卡把数字信号转成模拟信号,直接送给内置扬声器或耳机接口。这个过程里,系统音量、应用音量、声卡硬件增益全都参与了进来,而且它们都是“本地”控制的,任何一个滑块的变化你都能立刻听到。
但投屏内录是另一回事。视频画面通过Miracast、AirPlay、DLNA或者Chromecast协议无线传输到接收端(电视、电视盒子、投屏器,或者另一台电脑),声音也是一起打包传过去的。问题是,我们要“内录”的时候,录的到底是发射端的音频流,接收端的音频流,还是中间某段虚拟声卡里的流?这决定了录音的响度和本地播放的响度完全不是一回事。
我给自己画过一个比喻:正常播放像是你在厨房里直接把菜盛到盘子里吃,投屏内录则像是把菜打包交给外卖员,外卖员骑车送到另一栋楼,你再在那边打开餐盒吃。中间的路程、包装、以及“那边厨房”的火候,都会影响你最终吃到嘴里的味道和温度。声音同理——无线投屏链路里每一个环节的处理,都在改变最终的响度。
1.2 你调的那个音量滑块,并不是一把“总开关”
很多人以为系统音量是100%就万事大吉了,其实不是。在Windows里,音量结构至少分成这么几层:
- 系统主音量(设备级);
- 当前应用的音量(如浏览器、播放器的单独音量);
- 投屏协议驱动或虚拟声卡的输出音量;
- 接收端设备自身的音量;
- 内录工具(OBS、Audacity、系统录音机)的输入增益。
这五层是串联的关系,任何一层的衰减都会直接压到最终录音里。更坑的是,投屏的时候,Windows会为“无线显示器”或“数字输出”单独建一个音频端点,那个端点的主音量可能和你平时调的“扬声器”音量完全没关系。我曾经遇到过系统扬声器音量是70%,但投屏端点音量在Windows设置里只有30%的情况,内录出来自然轻飘飘的。所以排查内录音量小的问题,第一步永远是搞清楚你录的是哪一个端点,而不是先怀疑声卡坏了。
1.3 内录的本质是“截取”,而截取的位置决定了响度
这里给新手补充一个基础概念。内录(loopback recording)本质上是在音频数据还没有变成空气震动之前,从数字层面把它“截”下来保存成文件。比较常见的截取位置有三种:
- 声卡回环(Stereo Mix / 立体声混音):截取的是声卡输入端混合后的信号,也就是所有即将被送出去播放的音频总和。
- 虚拟声卡监听(如VB-CABLE、OBS Monitor):从一个虚拟设备里取数据流,专门给录制和串流用。
- 应用级回环(WASAPI loopback):直接从某个应用的音频会话里抓数据,不走物理声卡。
这三者拿到的数据内容不同,电平自然也不同。尤其是Stereo Mix这种,很多主板驱动默认会给它加一个额外的衰减或增益补偿,如果你的录音设备里Stereo Mix的音量被调到了50%,那录出来的声音文件峰值就只有扬声器播放时的一半。调到这里,问题往往就已经找到一半了。
2. 四个最容易让投屏内录音量变小的“元凶”
2.1 元凶一:无线投屏协议对音频的重新编码
先说一个很多人不知道的细节:Miracast、AirPlay、DLNA这些无线投屏协议,传输音频时并不是直接传送原始的PCM数据,而是会做一次编码转换。常见的做法是把音频编码成AAC、AC3或者Opus再发送,接收端解码后播放。凡是编码—传输—解码这个流程,都不可避免地对音频做重采样和位深转换。
举个例子,你的电脑里放着一个48kHz/16bit的音频文件,Miracast在传输时可能会把它重新打包成44.1kHz的AAC-LC流。位深从16bit降到14bit甚至更低的量化精度,动态范围就被压缩了。动态范围被压之后最直观的表现就是——弱音部分变得没那么弱,强音部分没那么强,整体响度听起来“扁平”。再加上有些接收端解码后会做一个“安全电平”处理,把峰值限制在-3dB甚至-6dB,防止扬声器过载。所以即便你在发射端的音量拉满了,接收端输出出来也可能已经被削低了好几格。
这里注意,这不一定是“故障”,而是协议设计时为了兼容性和稳定性的取舍。尤其是Miracast,它走的是Wi-Fi Direct,受带宽波动影响很大,所以很多实现在音频上更倾向于保守策略,压低电平换取不掉字、不爆音。
2.2 元凶二:内录工具截取的音频流里没有音量放大
如果你是用OBS、Streamlabs或者XSplit这类工具内录,它们默认情况下监听的是应用程序输出的总音频流,而这个流在进入声卡之前是“没有经过扬声器模拟放大部分”的。什么意思呢?
我实测过一个典型场景:同一段视频,我用Windows自带的“录音机”选择“立体声混音(Stereo Mix)”录制时,录出来的波形峰值在-3dB左右,能明显看到波形很粗壮;但同样的系统,我用OBS选择“桌面音频(Desktop Audio)”录制时,波形峰值只有-12dB甚至更低,几乎平了。原因就在于OBS走的是WASAPI回环,它捕获的是应用会话的原始流,而Stereo Mix捕获的是声卡混合引擎输出的“最终流”——后者往往经过了声卡驱动内部的响度优化和增益调整。
所以这里有一个实用经验:如果你内录的目的就是“把现场投屏的声音忠实记录下来”,那用OBS里的桌面音频反而更接近真实数字信号;如果你录出来的目的是为了后期直接剪辑使用、不希望声音太弱,那可以给OBS音频加一个增益滤镜,而不是去系统里狂拉音量,拉满了反而可能爆音。
2.3 元凶三:扬声器播放时的“响度均衡”和空间音效加成
这是最隐蔽的一个原因,也是大多数人不会想到的。Windows对扬声器和耳机端点默认开启了一项“响度均衡(Loudness Equalization)”,它在声卡DSP层面对音频做实时压缩和增益补偿,让小音量部分听起来更明显。你平时觉得“这个音量下声音挺响的”,很多时候正是这个功能在起作用。但问题在于,很多内录方式(尤其是WASAPI回环和虚拟声卡路径)是不经过这套DSP的,它们拿到的是原始、未经过响度均衡处理的裸信号。
打个比方:你面前的菜被厨师加了秘制酱汁,你觉得味道特别好;去后厨找原始食材尝了一口,寡淡无味。响度均衡就是那个酱汁,内录就是后厨的食材。你拿到的声音“小”,是因为你没有那个“酱汁”,而不是因为烹饪出了问题。
这个因素在部分设备上甚至可以解释6dB到10dB的音量差距。你正常扬声器播放时的峰值可能已经触顶到0dBFS,但内录出来的峰值最多-6dBFS。如果你把扬声器端点音量调低,响度均衡的增益幅度还会相应变化,进一步拉大和内录音量之间的体感差距。
2.4 元凶四:投屏接收端的音量与自动增益控制(AGC)
最后一个容易被忽略的元凶在“另一端”。投屏接收设备(比如电视、电视盒子、一台安装了接收软件的电脑)通常有自己的音量管理和自动增益控制。尤其是当手机投屏到电视时,电视的音量设置往往独立存在,且很多电视默认开启了“夜间模式”或者“自动音量”(AGC),这会让音频响度被动态调整。
更麻烦的是,有些电视的HDMI或无线投屏输入接口支持“音画同步延迟”调节,同时也对音频做了延迟缓冲。延迟缓冲本身不改变音量,但它通常伴随的“动态压缩”会悄悄压低瞬态响度。如果你内录的位置是在接收端(比如用第二台电脑跑Miracast接收软件然后录屏),你录到的就是接收端处理后的音频,响度自然受到接收端所有处理的影响。
我自己的踩坑经历是:用手机Miracast投屏到一台老联想电视,内录的视频声音特别闷,后来发现是电视台把“自动音量减小”打开了,关掉之后声音立刻支棱起来。所以排查内录音量问题,绝对不能只看发射端,接收端也要查一遍。
3. 分场景实操:不同投屏方式的声音内录怎么排查
3.1 场景一:Windows电脑Miracast投屏到显示器或电视
这个场景最常见,也是问题最多发的。Windows无线投屏到显示器时,系统会生成一个名为“无线显示器”或“Digital Display”的音频端点。你需要在系统设置里确认当前默认播放设备是不是这个端点,然后右键它,进入“级别”选项卡,看看这里的音量是不是被调低了。
实际操作步骤:
- 按Win+R输入mmsys.cpl打开声音设置面板;
- 在“播放”选项卡里找到“无线显示器”或对应设备,确保它是默认设备;
- 右键设备,选“属性”,切换到“级别”选项卡,把音量拉到100%;
- 再进入“增强”选项卡,看看是否勾选了“响度均衡”;
- 如果内录还是小,检查你录制软件的“音频输入”是不是对应到了“立体声混音(Stereo Mix)”上。
这里我建议优先使用“立体声混音”而不是WASAPI回环来录制Miracast投屏内容。实测中,立体声混音捕获到的信号通常已经包含了系统端点级别的音量调整,更接近你耳朵听到的效果。
3.2 场景二:手机投屏到Windows电脑(无线投屏软件/接收端)
手机投屏到Windows电脑,一般有三种情况:一是用系统自带“无线显示器”功能做Miracast接收,二是用第三方接收软件(如LetsView、幕享、ApowerMirror),三是通过AirPlay协议投屏到Windows上的接收端软件。
如果你的内录工具(比如OBS)直接录制电脑的“桌面音频”,声源其实是接收软件播放出来的声音。这里的关键是接收软件自身的音量设置。很多接收软件在播放音频时用的是“扬声器(Realtek High Definition Audio)”这个端点,但也有软件默认走“麦克风阵列”或虚拟声卡。一旦走错端点,内录工具默认采集的桌面音频可能根本收录不到它。
我的实操建议:先打开接收软件,播放一段测试视频,然后用Windows声音设置里的“音量混合器”看哪个端点有动态波形。你有波形跳动的那个端点,才是内录时该选的那个。不要凭名字猜。
3.3 场景三:视频网站App投屏到电视
很多人是把手机App里的视频投到电视上看,同时想把这个过程录下来(例如做测评、录演示)。这个场景的音频链路有点不一样——声音发送端是手机App,App将音频流通过DLNA或AirPlay推给电视,手机本地并不一定在播放声音。这时候如果你想在手机上内录,很可能什么都录不到,因为手机根本没发声。
如果你一定需要内录,推荐两个思路:
一是使用“同时本地发声”的投屏方式,比如部分投屏App提供了“本地播放+投屏”双模式,或者在电脑客户端投屏时保留本地音频输出;
二是用采集卡走HDMI内录,这是最稳妥的方案。手机HDMI输出(或通过扩展坞)接到采集卡,电脑上用OBS采集,声音画面完全同步,且音量不受无线协议影响。
不过要提醒一下,很多视频App的投屏功能在协议层做了音频加密或限制,即便你用采集卡录制,也可能遇到声音能录但响度偏低的情况,这本质上是因为App源码流本身就限制了音频动态范围,属于平台规则,不是你的设备故障。
4. 实测数据与调优:让内录音量和扬声器播放尽量一致
4.1 先量化再调优:用Audacity看波形到底差多少
很多人一遇到声音小就凭感觉调,这不行。我的习惯是先把内录音频文件拖进Audacity或者Reaper,查看波形峰值和RMS电平。举个例子:
- 正常扬声器播放时,系统音量50%,录到的一小段语音RMS大概在-18dBFS,峰值在-6dBFS;
- 投屏内录后,同一段语音RMS可能在-24dBFS,峰值在-12dBFS。
这个差值(6dB左右)其实就是音频链路各级衰减的总和。6dB的差距意味着,你把录好的音频音量放大到原来的两倍(+6dB增益),就能大致回到正常播放的水平。搞清楚这个数值,后面所有调整都有了基准。
4.2 对症下药的调优方案
确定差值之后,你有三种方式去补偿:
第一种是源头增益。在投屏发射端尽量把对应音频端点的音量拉满,同时确认APP内的音量也是100%。很多人会在APP里把音量拖到70%,系统端点又是80%,两级串联后实际只剩56%,内录自然小。源头增益是所有调整里效果最自然的,因为没有被后期强行放大带来的底噪。
第二种是录制端增益。在OBS的音频混音器里给对应的桌面音频源加上增益滤镜。比如你测得差值6dB,就给滤镜加+6.0dB。注意分多次加,不要一次性拉10dB,否则容易出现削波失真。
第三种是后期增益。用Audacity的“效果—放大”功能,把分贝值填到结果就行。如果有大量不同片段,记得先统一分析整段素材的峰值,再用“响度归一化(Loudness Normalization)”到-14 LUFS左右,这样剪辑平台(如B站、YouTube)上听起来会比较统一。
我个人的习惯是优先做第一和第二种,后期尽量只处理不可控的个别片段。原因很简单:前两种方式保留了完整的动态范围,后期放大是把整段音频统一提音量,底噪也会被同时放大,听感会变脏。
4.3 推荐的一组内录参数配置
以OBS为例,我实测下来比较稳的一组投屏内录参数是:
- 采样率:48kHz(和系统设备格式保持一致);
- 声道:2.0立体声;
- 音频输出模式:桌面音频(WASAPI);
- 桌面音频设备:指向“默认输出设备”;
- 增益滤镜:根据实测差值设置,一般+3.0dB到+9.0dB之间;
- 音轨:单独用一个音轨(如音轨3),和麦克风音轨分开,方便后期处理音频。
采样率这个参数很多人会忽略,但投屏链路经常涉及48kHz和44.1kHz的转换,如果你的OBS工程采样率设置和投屏音频不一致,会触发二次重采样,轻微影响音质和响度密度。直接把工程固定到48kHz,可以让系统把这个转换做在前面,减少不必要损耗。
4.4 如果接收端是电视,别忘了检查这些设置
前面说过电视端的处理会直接影响最终听感,这里把电视端要检查的项目列一下:
- 声音模式:优先选择“标准”或“电影”,避免“夜间”“新闻”等带压缩的模式;
- 自动音量:关闭或设为“关闭”;
- 环绕声/音效增强:关闭dolby音效或SRS音效,它们在电视上听可能爽,但内录时会改变响度曲线;
- HDMI输入的音频格式:有些电视可以设置成“PCM”或“bitstream”,优先选PCM,因为bitstream输出的原始压缩流在録制时反而可能被解码后降低电平。
这些在电视设置菜单里的叫法可能不同,但原理大同小异。你只要记住一个核心逻辑——投屏内录音量问题,永远先看“音频链路里哪个环节偷走了增益”。
5. 常见问题与排查技巧实录
5.1 速查表:投屏内录音量小,该从哪下手
| 症状 | 可能原因 | 优先级 |
|---|---|---|
| 全部内录音量都小,扬声器正常 | 系统端点音量/录制设备增益 | 高 |
| 只有某App投屏小,其他正常 | App内音量限制或协议编码压缩 | 高 |
| 内录波形峰值正常但RMS偏低 | DSP处理或接收端动态压缩 | 中 |
| 手机投屏时完全没声音 | 音频未走本地输出,需用接收端录制 | 高 |
| 内录有杂音且音量小 | 增益补偿过大,底噪被放大 | 中 |
| 投屏画面正常但声音断断续续 | 无线带宽不足,协议降低了音频码率 | 低 |
5.2 容易被忽略的三个小细节
第一个是笔记本合盖带来的音频设备切换。Windows默认笔记本合盖后无线投屏可能保持,但音频设备可能因为电源策略被切换成“无线显示器”或干脆静音。我自己在录投屏的时候产品合盖,再打开录音文件,发现声音直接没了。解决办法是把“合盖操作”从“睡眠”改成“不采取任何操作”,并手动把声音端点切回需要的设备。
第二个是Realtek高清晰音频管理器对Stereo Mix的隐藏。有些笔记本的Realtek驱动默认不显示Stereo Mix,你要去录音设备的“显示禁用的设备”里手动启用,并右键把它“设置为默认设备”。如果连“立体声混音”都没有,那十有八九是驱动精简版的问题,重新安装完整版Realtek音频驱动就能解决。
第三个是投屏接收器的兼容性。我用一个杂牌无线投屏器做过测试,它的音频输出电平比正常设备低得多,内录出来的视频声音全程很虚。换了一台正规支持Miracast的电视盒子后,差异立刻缩小到1-2dB。所以如果所有软件层面的调整都做完了还是小,建议换一个接收端试试,成本低见效快。
5.3 几种“伪修复”的辨别
网上很多人推荐“直接用系统录音机录制‘立体声混音’”,但如果你投屏时系统默认播放设备已经切到了无线显示器,那“立体声混音”录到的也可能是空信号或者极低的电平。这不是系统出问题了,而是录制端和播放端的设备不匹配。
还有人推荐把“响度均衡”打开,让它放大内录音量。这个方法能解决问题,但副作用是声音动态会被压缩,后期如果需要做语音识别、音量自动匹配,处理结果会受影响。我建议只在预览阶段临时打开,正式录制时还是关掉,用增益滤镜来补偿更可控。
结尾:这套排查思路其实是通用的
把投屏内录音量小的原因捋完之后,我发现这个问题的价值不仅仅在于解决一个“音量小”的bug。它背后是整个音频链路的理解——从本地播放到无线传输到内录,每个环节都有自己的音量管理、增益处理和DSP特性。很多看似玄学的音量问题,本质都是链路里某个环节的电平设置没对齐。
我个人现在遇到任何内录音量问题,都先做一件事:录一段30秒的测试音,在Audacity里看波形峰值和RMS,然后用增益补偿把值对齐到目标水平。这套方法能覆盖大部分场景,而且可量化、可复现。
如果你手头正好在折腾投屏内录,建议先把系统声音设置面板里所有相关端点(扬声器、无线显示器、Stereo Mix)的电平全部检查一遍,再决定要不要动增益滤镜。很多时候,答案就藏在你从来没注意过的那个“另外的”音量滑块里。