You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用fluent-ffmpeg录屏无系统音频问题排查求助

解决AVFoundation捕获系统音频的问题

问题核心在于macOS的AVFoundation框架默认无法直接捕获系统内部音频(如YouTube播放的声音),必须借助虚拟音频设备实现,再配合ffmpeg参数调整。

解决步骤:

  1. 安装虚拟音频设备
    推荐使用BlackHole(替代停止维护的Soundflower),安装完成后在系统「音频设置」中,将「输出设备」切换为BlackHole,让系统音频路由到这个虚拟设备。

  2. 确认设备编号
    打开终端执行以下命令,列出所有AVFoundation可用设备:

    ffmpeg -f avfoundation -list_devices true -i ""
    

    输出里会标注屏幕设备(带[screen]标记)和音频设备,找到你安装的虚拟音频设备对应的编号(比如2)。

  3. 调整fluent-ffmpeg配置
    修改source参数,格式为[屏幕设备编号]:[虚拟音频设备编号]。假设原屏幕设备编号是1,虚拟音频设备编号是2,则source改为1:2。

修改后的代码示例:

let command = ffmpeg({ source: '1:2' }) // 替换为你的屏幕+虚拟音频设备实际编号
command.inputFormat('avfoundation')
command.fps(60)
command.videoCodec('libx264')
command.audioBitrate('320k')
command.audioCodec('libmp3lame')
command.addOption('-pix_fmt', 'yuv420p')
// 可选:添加音频同步参数避免延迟
command.addOption('-async', '1')
command.save('output.mp4')

额外注意事项:

  • 如果需要同时录制麦克风+系统音频,可在音频设置中创建「多输出设备」,将麦克风和BlackHole合并,再用这个合并设备的编号作为音频源。
  • 录制结束后记得把系统输出设备切回原扬声器,否则会无声音输出。

内容的提问来源于stack exchange,提问作者user2500558

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:09:23