news 2026/8/24 18:21:42

Scream 虚拟声卡完整教程:3 步把 Windows 电脑的声音送上局域网

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Scream 虚拟声卡完整教程:3 步把 Windows 电脑的声音送上局域网

Scream 虚拟声卡完整教程:3 步把 Windows 电脑的声音送上局域网

【免费下载链接】screamVirtual network sound card for Microsoft Windows项目地址: https://gitcode.com/gh_mirrors/sc/scream

想象这样一个场景:你在书房用 Windows 电脑看视频,却希望声音从客厅的音箱出来,而不需要再连一根 HDMI 线。Scream 就是干这件事的——它是一个 Windows 内核级虚拟声卡驱动,把通过该声卡播放的音频实时打包成 PCM 网络流,发到局域网里,任何运行接收端的设备都能把它放出来。

💡 30 秒看懂原理:它到底怎么把声音"搬"走

Scream 的工作链路只有三步:

  1. 输入:Windows 里多出一块虚拟声卡,你把它设为播放设备,所有应用照常向它"输出"音频;
  2. 处理:驱动在内核里把这些 PCM 采样装进 UDP 数据帧(5 字节头 + 最多 1152 字节音频数据),以组播方式发往固定地址239.255.77.77:4010
  3. 输出:接收端(另一台 Windows、Linux、树莓派等)监听这个组播地址,把采样喂给本地音频设备发声。

整个过程没有用户态组件,全部在内核完成,所以延迟很低;接收端只需"开端口、读数据",系统会自动处理组播加入(IGMP)。

🧭 快速上手:最短路径装好第一对收发设备

本节带你走完"装驱动→配接收→验证出声"的最短路线,全程只需管理员权限一次。

第 1 步:安装发送端驱动(Windows PC)

右键以下脚本之一并选择"以管理员身份运行"(不确定架构就选 x64):

系统架构安装脚本
64 位 WindowsInstall/Install-x64.bat
32 位 WindowsInstall/Install-x86.bat
ARM64 WindowsInstall/Install-arm64.bat

安装后,在 Windows 声音设置里会多出一块 Scream 声卡,把它设为默认播放设备即可。

第 2 步:部署接收端(二选一)

  • Windows 接收:直接运行安装包内的Install/clients/Windows/ScreamReader/ScreamReader.exe,它是一个托盘程序,只提供一个音量滑条,开机后放着即可;
  • Linux/Unix 接收:进入Receivers/unix/目录编译(源码说明见 Receivers/unix/README.md),依赖已安装的情况下两条命令即可:
mkdir build && cd build cmake .. && make

编译出scream可执行文件后,直接运行./scream即进入组播接收模式。若机器有多个网卡,用-i指定接收网卡,例如./scream -i eth0

第 3 步:放行防火墙

接收端若有入站防火墙,放行UDP 4010端口(自定端口则放行对应端口)。

成功验证

在 Windows 电脑上随便播放一段音乐或视频。如果接收端的扬声器/耳机里同步传出声音,且拖动 ScreamReader 的音量条能实时改变响度——恭喜,链路已经打通。

🎛️ 关键参数配置:一张表抄走推荐值

这几个参数决定音质、带宽和声道正确性,照抄默认推荐值就能覆盖 90% 的使用场景。

参数在哪里设置默认推荐值可选值适用场景与效果
采样率/位深声卡属性"高级"选项卡48000 Hz / 16 位44100 Hz/16 位、96000 Hz/32 位等44.1k/16 位放 CD 音乐免重采样(约 1.4 Mbps);高采样率多声道会显著推高带宽(96k/32 位立体声约 6.1 Mbps)
扬声器声道声卡属性"配置"向导立体声5.1、7.1接收端支持多声道时再开,声道位置由 Windows 侧向导统一下发
发送地址无需设置组播239.255.77.77:4010注册表单播(见避坑手册)组播天然支持多台接收端同时出声
静音阈值注册表SilenceThreshold不设置10000(约 1/4 秒)静音时停止发包,省带宽;数值越小吃药越及时
接收端目标延迟scream-t参数50 ms100 ms 等出现爆音时调大,以少量延迟换稳定

调整采样率时,在扬声器属性对话框切到"高级"选项卡即可,如下截图所示:

默认推荐组合:48000 Hz / 16 位 / 立体声,带宽占用小、兼容性最好,5.1 及以上声道时官方也建议维持 48 kHz/16 位。

🎬 实战示例:三个高频场景这样落地

场景一:书房电脑 → 客厅音箱(跨房间)

  • 场景描述:电脑留在书房,声音要出现在客厅的音响系统上。
  • 具体操作:在客厅放一台树莓派(或任意 Linux 小主机),装上 USB 声卡接好音箱;在树莓派上运行前面编译好的./scream;书房电脑装好 Scream 驱动并设为默认播放设备。
  • 预期效果:电脑里点播放,客厅音箱 100 ms 左右开始出声,两边走在同一局域网即可,无需任何"配对"动作;换房间或增加一台树莓派同样能收到,因为走的是组播。

场景二:5.1 环绕游戏音送到家庭影院

  • 场景描述:游戏支持 5.1 输出,家庭影院功放接了 5.1 音箱,想把游戏音场原样搬过去。
  • 具体操作:先用声卡属性里的"配置"向导(见下截图)把 Scream 声卡设成 5.1,游戏内音频选项同样选 5.1;采样率保持 48 kHz/16 位,避免多声道 + 高位深把带宽吃满;接收端使用支持多声道的 Linux 接收程序(Windows 的 ScreamReader 不支持多声道位置映射,立体声场景才用)。
  • 预期效果:环绕声各声道落到功放对应位置,低音炮、后环绕各归其位。

场景三:多台设备全屋同步

  • 场景描述:家里两间房各有一套音响,希望同时放同一内容且保持同步。
  • 具体操作:两个房间各放一台接收端,各自运行接收程序(Windows 跑 ScreamReader,Linux 跑scream),发送端保持默认组播,无需任何额外设置。
  • 预期效果:两台设备同时出声且内容同步;若个别设备偶发卡顿,给该设备调大接收缓冲(-t 100)即可。

🩹 避坑手册:按"现象→原因→解决"排障

1. 现象:运行安装脚本提示需要管理员权限,驱动没装上原因:脚本内部调用 devcon 安装驱动,必须以管理员身份执行。 解决:右键脚本 → "以管理员身份运行";仍失败时确认 Windows 版本与架构匹配(x64/x86/arm64 各用对应 bat)。

2. 现象:较新的 Windows 10(1607 及以后)拒绝安装驱动原因:微软收紧了内核驱动签名规则,交叉签名的驱动默认被拦。 解决:在 BIOS 中关闭安全启动;或按官方说明添加注册表值HKLM\SYSTEM\CurrentControlSet\Control\CI\Policy下的UpgradedSystem(DWORD,值 1)。

3. 现象:Windows 11 上安装脚本报错、设备不出现原因:安装脚本依赖的 devcon 与 Windows 11 不兼容。 解决:走测试模式路线——管理员命令行执行bcdedit /set testsigning on并重启,确认桌面右下角出现"测试模式"字样;再进入Install/driver/<架构>/目录执行pnputil /add-driver .\Scream.inf /install;完成后执行bcdedit /set testsigning off并重启。

4. 现象:发送端有声音,接收端完全没反应原因:最常见的是接收端防火墙拦了 UDP 4010,或接收程序跑在了错误的网卡上。 解决:接收端放行 UDP 4010;多网卡机器用./scream -i <网卡名>指定接收接口;还不通就在接收端用抓包工具看 UDP 4010 有没有包(项目自带 Wireshark 解析插件,源码在 tools/wireshark/,可按其说明安装后直接解码 Scream 包)。

5. 现象:组播收不到,单播能收到(部分交换机/软路由环境)原因:组播流量被网络设备丢弃或未正确转发 IGMP。 解决:给发送端改单播——在注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Scream\Options键下新建字符串值UnicastIPv4(目标 IP)和 DWORD 值UnicastPort(默认 4010),重启后生效;接收端加-u参数运行。

6. 现象:Linux 接收端播放时爆音、卡顿原因:默认 50 ms 缓冲在负载较高时不够,产生 underrun。 解决:先降低进程优先级(niceness),仍爆音则调大目标延迟,如scream -o alsa -t 100;可用-v查看 ALSA 实际缓冲信息辅助判断。

7. 现象:多声道下 ScreamReader 声道错位原因:ScreamReader 不支持多声道(立体声以上)的位置映射。 解决:立体声场景随便用;5.1/7.1 场景改用 Linux 接收端。

⚖️ 与替代方案对比:它省在哪、贵在哪

维度Scream 虚拟声卡蓝牙音频HDMI/3.5mm 有线
端到端延迟毫秒级(内核直发)通常 50–200 ms接近零,但受线材限制
音质原始 PCM 无损传输,可上 32 位/96 kHzSBC/AAC 等有损压缩无损,但格式受接口限制
覆盖范围整个局域网,跨房间无上限约 10 米内一根线的长度
同时设备数任意多台组播接收1–2 台1 台
硬件成本只需一台能跑接收程序的小主机需蓝牙耳机/音箱需线材与接口匹配
配置难度中等(驱动签名、防火墙各一次)低,配对即用最低,插上即用

如果你的诉求只是"换个房间放声音",蓝牙和有线都做不好,Scream 是目前少见的免费开源解法。

总结与获取方式

Scream 用一块内核级虚拟声卡 + 一条局域网组播流,把 Windows 的音频自由送到局域网里任何能播放 PCM 的设备上,装驱动、开端口、跑接收程序,三步即可出声。

仓库地址(克隆即用):

git clone https://gitcode.com/gh_mirrors/sc/scream

【免费下载链接】screamVirtual network sound card for Microsoft Windows项目地址: https://gitcode.com/gh_mirrors/sc/scream

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 18:21:06

TCP接口测试实战指南:从协议原理到自动化框架构建

1. 项目概述&#xff1a;为什么TCP接口测试值得深挖&#xff1f;在软件测试领域&#xff0c;提到“接口测试”&#xff0c;大家的第一反应往往是基于HTTP/HTTPS协议的RESTful API或者WebService。这没错&#xff0c;HTTP协议承载了互联网应用的大半壁江山。但作为一名常年和底层…

作者头像 李华
网站建设 2026/8/24 18:17:18

C语言实现进制转换:从原理到实践,掌握底层数据处理核心算法

这次我们来看一个C语言编程中的经典问题&#xff1a;进制转换。对于C语言初学者、嵌入式开发者&#xff0c;或者需要处理底层数据、网络协议、文件解析的程序员来说&#xff0c;手动实现不同进制&#xff08;如二进制、八进制、十进制、十六进制&#xff09;之间的转换&#xf…

作者头像 李华
网站建设 2026/8/24 18:15:47

ts转化为mp4总是失败?试试这几招,批量转换不再翻车

手动改名转不了格式&#xff0c;TS文件到底该怎么处理&#xff1f; 下载好的电影、摄像机录制的素材、直播回放视频&#xff0c;不少是TS封装格式。TS虽然画质保留好&#xff0c;但放到手机里经常无法播放&#xff0c;发给别人也容易显示“格式不支持”&#xff0c;甚至导入剪…

作者头像 李华
网站建设 2026/8/24 18:13:22

面向具身智能的TVA-VLA伦理约束新框架

前沿技术探索&#xff1a;TVA智能体&#xff08;简称TVA&#xff09;TVA智能体&#xff08;亦称“AI智能体视觉”或“TVA视觉智能体”&#xff09;是依托Transformer架构与“因式智能体”理论构建的系统级视觉技术框架。它融合深度强化学习&#xff08;DRL&#xff09;、卷积神…

作者头像 李华
网站建设 2026/8/24 18:10:57

HiFi-BRep框架本地部署指南:解决AI生成CAD模型的脆性问题

这次我们来看一个在三维计算机视觉和CAD生成领域值得关注的新框架&#xff1a;HiFi-BRep。这个项目由研究团队开源&#xff0c;核心目标是解决CAD生成中的“脆性问题”——简单说&#xff0c;就是让AI生成的CAD模型&#xff08;特别是B-Rep边界表示模型&#xff09;在几何精度和…

作者头像 李华
网站建设 2026/8/24 18:10:38

2026年AI招聘系统选型指南与实施策略

1. 项目概述2026年企业AI招聘系统选型是一个极具前瞻性的课题。随着人工智能技术在人力资源领域的深度渗透&#xff0c;市面上涌现出数十种功能各异的招聘系统&#xff0c;企业决策者往往陷入"功能过剩但价值模糊"的困境。本文将从实际业务场景出发&#xff0c;拆解A…

作者头像 李华