我正在尝试使用easycap从我的摄像机录制,但我遇到了一个小问题。使用他们的测试脚本,我可以获得音频和视频。我注意到在第 159 行的脚本中,它调用了“ DEV_ADUIO”,报告为“ plughw:2,0”。
这个设备究竟是什么?它位于/dev/某个地方吗?
我已经完成了ls /dev/,但找不到任何建议使用音频设备的内容
use*_*124 31
运行命令(在终端中)
aplay -l
Run Code Online (Sandbox Code Playgroud)
输出看起来像
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC262 Analog [ALC262 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)
用于此的设备是plughw:0,0。两个零来自设备 0和Subdevice #0。
一般来说,有几种方法可以在Linux上获取音频播放和录音设备。我在这个答案中重点关注命令行工具。
如果您运行PipeWire作为声音服务器,您可以使用它pw-cli来获取所有输入和输出(录音和播放设备)的名称:
pw-cli list-objects | grep node.name
Run Code Online (Sandbox Code Playgroud)
输出示例:
node.name = "Dummy-Driver"
node.name = "Freewheel-Driver"
node.name = "Midi-Bridge"
node.name = "v4l2_input.pci-0000_00_1a.0-usb-0_1.6_1.0"
node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
node.name = "alsa_input.pci-0000_00_1b.0.analog-stereo"
node.name = "alsa_input.usb-UC_Mic_USB_Audio_Device-00.mono-fallback"
Run Code Online (Sandbox Code Playgroud)
这些节点名称可用于从命令行录制音频。
另请参阅pw-link哪些可以列出输入和输出 PipeWire 端口。
或者,您可以使用PulseAudio (另一个声音服务器)附带的命令行工具来执行相同的操作:
pactl list | grep node.name
Run Code Online (Sandbox Code Playgroud)
这会产生与pw-cli list-objects我的机器上类似的输出:
node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
node.name = "alsa_output.pci-0000_00_1b.0.analog-stereo"
node.name = "alsa_input.pci-0000_00_1b.0.analog-stereo"
node.name = "alsa_input.usb-UC_Mic_USB_Audio_Device-00.mono-fallback"
Run Code Online (Sandbox Code Playgroud)
我发现仅显示音频接收器很有用,例如扬声器和耳机:
pactl list short sinks
Run Code Online (Sandbox Code Playgroud)
输出示例:
43 alsa_output.pci-0000_00_1b.0.analog-stereo PipeWire s32le 2ch 48000Hz IDLE
1076 alsa_output.usb-Logitech_Logitech_Wireless_Headset_4473D63ED97A-00.analog-stereo PipeWire s16le 2ch 48000Hz IDLE
Run Code Online (Sandbox Code Playgroud)
请注意,即使您使用 PipeWire 作为音频服务器,pactl它也可能仍然可以工作,因为 PipeWire 的目标是成为 PulseAudio 的直接替代品。
如user4124 的回答所示,您可以使用ALSA 的命令行工具列出播放设备(例如耳机、扬声器) :
aplay --list-devices
Run Code Online (Sandbox Code Playgroud)
我的机器上播放设备的示例输出:
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)
对于录音设备,请使用
arecord --list-devices
Run Code Online (Sandbox Code Playgroud)
我的机器上的记录设备的示例输出:
**** List of CAPTURE Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: CX20590 Analog [CX20590 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: Device [USB Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Run Code Online (Sandbox Code Playgroud)
另请参阅手册页--list-pcms中列出所有PCM设备的选项。
| 归档时间: |
|
| 查看次数: |
82617 次 |
| 最近记录: |