【问题标题】:Chromium --alsa-ouput-device flag not workingChromium --alsa-output-device 标志不起作用
【发布时间】:2018-04-18 15:49:51
【问题描述】:

我创建了一个虚拟 alsa 环回设备,并尝试在 google-chrome 或 chromium-browser 中打开一个 youtube 链接,并尝试将其音频输出发送到该虚拟设备。然后使用 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-chrome chromium alsa


    【解决方案1】:

    我也遇到了同样的问题,因为谷歌没有提供 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. 现在从列表中选择您的插件硬件并将其名称添加到 --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
    

    【讨论】:

      【解决方案2】:

      我在尝试做同样的事情时遇到了同样的问题。实际效果如下:

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

      这有 chrome 使用 (card 0, device 0) 输出,它被循环回 (card 0, device 1, substream 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。

      【讨论】:

        猜你喜欢
        • 2016-11-23
        • 2017-12-13
        • 2018-03-02
        • 1970-01-01
        • 2015-09-28
        • 1970-01-01
        • 1970-01-01
        • 2018-11-08
        • 2023-03-26
        相关资源
        最近更新 更多