我创建了一个虚拟的alsa回环设备,并试图在google或铬浏览器中打开youtube链接,并试图将它的音频输出发送到该虚拟设备。然后使用ffmpeg,我试图捕捉音频。但无论我做什么,铬或铬总是发送音频输出到默认内置扬声器。如果我打开卷控制面板并将应用程序在回放部分的输出更改为回环,那么它就能工作了。但我的要求是,能够通过告诉铬发送音频到哪个设备的程序。
以下是我试图实现的命令:
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任何帮助都将不胜感激。
发布于 2019-01-08 05:17:11
我也遇到了同样的问题,因为Google没有提供ALSA输出使用的完整格式,所以您可以按照下面的步骤,
所以完整的命令如下所示,
google-chrome --window-position=0,0 --window-size=1920,1080 --alsa-output-device='plug:surround21' -kiosk https://www.youtube.com/watch?v=LTbnmiXWs2k发布于 2020-06-12 21:18:01
我在尝试做同样的事情时,也面临着同样的问题。以下是实际有效的方法:
chrome (...) --alsa-output-device=hw:0,0
ffmpeg -f alsa -ac 2 -i hw:0,1,1 test.wav 这有铬使用(卡0,设备0)的输出,这是循环回(卡0,设备1,子流1)。格式为--阿尔萨-输出-设备=hw:卡,设备
相反的情况也起作用:
chrome (...) --alsa-output-device=hw:0,1
ffmpeg -f alsa -ac 2 -i hw:0,0,1 test.wav 选择子流(例如-alsa-输出-设备=hw:0,1,4)是不可能的。如果使用ffmpeg捕获,只需假设子流1。
https://stackoverflow.com/questions/47137683
复制相似问题