LINUX.ORG.RU

PortAudio + PipeWire - почему не вывести звук?

 ,


0

1

У меня есть программа dsd+, которая должна выводить декодированный аудиопоток в нужный канал командой

socat udp-listen:7355 - | dsd -i - -o pa:7

И я каждый раз получаю ошибку (в независимости от выбранного output)

An error occured while initializing a portaudio stream Error number: -9997 Error message: Invalid sample rate

Честно говоря я толком вообще не понял что за проблема с sample rate и почему я просто не могу вывести звук на устройство Подскажите что делать?

Данные по выходному устройству

Name = USB PnP Audio Device: Audio (hw:1,0)

Host API = ALSA

Max inputs = 1, Max outputs = 2

Default sample rate = 48000.00

★★

Последнее исправление: Andreezy (всего исправлений: 5)

a portaudio stream

PortAudio, не PulseAudio.
PortAudio не делает передискретизацию, и если звук идёт через сервер JACK, то он не даст, потому что JACK не делает передискретизацию тоже (pipewire-jack в том числе).

Darth_Revan ★★★★★
()
Ответ на: комментарий от Darth_Revan

error: can’t read dsf file ‘-’: Нет такого файла или каталога

error: open failed: Нет такого файла или каталога

2022/03/11 12:22:23 socat[10420] E write(1, 0x562cfa9af000, 416): Broken pipe

Я не очень понимаю какой он файл хочет получить? И вообще нигде в гугле не нашел про pw-dsdplay

Andreezy ★★
() автор топика
Последнее исправление: Andreezy (всего исправлений: 3)
Ответ на: комментарий от Andreezy

А, он не может принимать из pipe.

Тогда, как вариант, socat udp-listen:7355 - | dsd -i - -w - | pw-cat --target=N -p -
Или так: socat udp-listen:7355 - | ffmpeg -i - -f wav - | pw-cat -p - | pw-cat --target=N -p -

Или можно через MPV проигрывать: socat udp-listen:7355 - | mpv --audio-device=N -, где устройство можно определить с mpv --audio-device=help

Darth_Revan ★★★★★
()
Ответ на: комментарий от Darth_Revan

socat udp-listen:7355 - | dsd -i - -w - | pw-cat –target=44 -p -

error: failed to open audio file «-»: Format not recognised.

error: open failed: Ошибка ввода/вывода

все равно не работает

Andreezy ★★
() автор топика
Ответ на: комментарий от Andreezy

Тут уже не знаю.
Я взял этот dsd+ и случайный .dsf файл, и на выходе получил какой-то мусор.
Но я не знаю, как вообще должен быть закодировать аудиопоток.

Darth_Revan ★★★★★
()
Ответ на: комментарий от Darth_Revan

А можно как-то узнать какая частота дискретизации входящего потока? Быть может в gqrx(из которого стримится поток) как-то можно ее сменить на подходящую?

Andreezy ★★
() автор топика
Последнее исправление: Andreezy (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.