На ПК делается достаточно просто:
# Файл out.raw может быть FIFO.
# Захватить звук в файл:
pacat --record -d alsa_output.pci-0000_00_1b.0.analog-stereo.monitor > out.raw
# Воспроизвести файл с захваченным звуком:
play -t raw -r 44.1k -e signed-integer -b 16 -c 2 out.raw
# Конвертировать файл с захваченным звуком в формат wav:
sox -t raw -r 44100 -e signed-integer -L -b 16 -c 2 out.raw out.wav
Сейчас нужно сделать что-то подобное на моём LibreElec (запущен на Raspberry Pi).
Очень важно захватить то, что воспроизводится на HDMI (если вообще возможно - Line-in) и передать звуковые данные, например, через FIFO или пайп в конвеер и/или по SSH.
Найти устройство через pactl и pacmd не получилось.
Попытки захватить звук определённого клиента (пробовал по аналогии с этим ) так же не получилось. Клиент определяется так:
Client #1
Driver: protocol-native.c
Owner Module: 0
Properties:
application.name = "KodiDriver"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "33"
application.process.id = "786"
application.process.user = "root"
application.process.host = "Kodi"
application.process.binary = "kodi.bin"
application.language = "C"
window.x11.display = ":0.0"
application.process.machine_id = "70f5b9605a53e61719a3a9c55caf6b36"