Chromium --alsa-output-device 标志不起作用

Chromium --alsa-ouput-device flag not working

我已经创建了一个虚拟的 alsa 环回设备并尝试在 google-chrome 或 chromium-browser 中打开一个 youtube link 并尝试将它的音频输出发送到那个虚拟设备。然后使用 ffmpeg 我试图捕捉音频。但无论我做什么,chrome 或 chromium 总是将音频输出发送到默认的内置扬声器。如果我打开音量控制面板并将播放部分中的应用程序输出更改为环回,那么它就可以工作了。但是我的要求是能够通过告诉 chrome 在哪个设备上发送音频来以编程方式进行。

以下是我尝试实现的命令:

google-chrome --window-position=0,0 --window-size=1920,1080 --alsa-output-device=alsa_output.1.analog-stereo.monitor -kiosk https://www.youtube.com/watch?v=LTbnmiXWs2k

google-chrome --window-position=0,0 --window-size=1920,1080 --alsa-output-device=hw:1,0 -kiosk https://www.youtube.com/watch?v=LTbnmiXWs2k

下面是运行良好的 ffmpeg 命令:

ffmpeg -f pulse -i alsa_output.1.analog-stereo.monitor -ac 1 -ar 16000 test.wav

任何帮助将不胜感激。

我也遇到了同样的问题,因为Google没有提供ALSA输出使用的完整格式,所以你可以按照下面的步骤,

  1. 列出插件硬件:

    aplay -L
    
    null
        Discard all samples (playback) or generate zero samples (capture)
    pulse
        PulseAudio Sound Server
    default:CARD=PCH
        HDA Intel PCH, ALC662 rev3 Analog
        Default Audio Device
    sysdefault:CARD=PCH
        HDA Intel PCH, ALC662 rev3 Analog
        Default Audio Device
    front:CARD=PCH,DEV=0
        HDA Intel PCH, ALC662 rev3 Analog
        Front speakers
    surround21:CARD=PCH,DEV=0
        HDA Intel PCH, ALC662 rev3 Analog
        2.1 Surround output to Front and Subwoofer speakers
    
  2. 现在 select 列表中的插件硬件并将其名称添加到 --alsa-output-device=

    --alsa-output-device='plug:surround21'
    

因此您的完整命令如下所示,

google-chrome --window-position=0,0 --window-size=1920,1080 --alsa-output-device='plug:surround21' -kiosk https://www.youtube.com/watch?v=LTbnmiXWs2k

我在尝试做同样的事情时遇到了同样的问题。这是实际起作用的:

chrome (...) --alsa-output-device=hw:0,0
ffmpeg -f alsa -ac 2 -i hw:0,1,1 test.wav 

这 chrome 使用(卡 0,设备 0)作为输出,循环回(卡 0,设备 1,子流 1)。格式为 --alsa-output-device=hw:card,device

反之亦然:

chrome (...) --alsa-output-device=hw:0,1
ffmpeg -f alsa -ac 2 -i hw:0,0,1 test.wav 

无法选择子流(例如 --alsa-output-device=hw:0,1,4)。如果使用 ffmpeg 捕获,则假设子流 1.