2

У меня есть докер под управлением Alpine Linux. Аппаратного аудиоустройства нет вообще.

Мне удалось заставить работать pulaudio, казалось бы, нормально под пользователем.

Я экспериментировал с попыткой заставить PA функционировать как виртуальную звуковую карту с целью потоковой передачи аудио из докера с помощью ffmpeg. Но пока без удачи. И я еще не сталкивался с примерами, в которых не использовался компьютер, на котором не было аудиооборудования.

Моя главная задача - заставить VICE (x64, эмулятор Commodore 64) правильно использовать «пульс» вместо «фиктивного». Я скомпилировал VICE с «--with-pulse», и «pulse» действительно отображается в меню настроек.

Хотя, когда я переключаюсь на «пульс» вместо «фиктивного», x64 жалуется, что не может его инициализировать, а затем отключает свой собственный вывод звука.

У pactl и pacmd, похоже, нет проблем с управлением сервером pulseaudio.

Я пробовал следующее (а также модуль-труба)

$ pacmd load-module module-null-sink sink_name=VirtSoundCard sink_properties=device.description=Virtual-Sound-Card

$ pacmd set-default-sink VirtSoundCard

Хотя пока без удачи. Так что надеюсь услышать от кого-нибудь, кто может знать, как это можно сделать, пока я провожу остаток ночи, пытаясь.

«Default.pa», который я использую: atms: http://bitbucket.org/duckhuntpr0/pyvice/src/pyvice_base/src/fs/home/pyvice/default.pa.

1 ответ1

1

Pulseaudio может создавать различные приемники (то, что вы называете "виртуальными звуковыми картами", но приемники предназначены для вывода, источники для ввода, и они также связаны с реальным звуковым оборудованием).

Взгляните на список модулей, который включает в себя приемники и примеры синтаксиса. У вас есть выбор между использованием RTP/SDP, ROAP.

Вы также можете получить доступ к серверу pulseaudio на хосте через собственный procotol, в этом случае вам не нужно запускать сервер pulseaudio в док-клиенте.

До сих пор не было необходимости использовать ffmpeg . Если вы действительно хотите использовать ffmpeg , вы также можете создать нулевой приемник и подключить его источник монитора к ffmpeg . Это ближе всего подходит к вашей идее о "виртуальной звуковой карте", но это также наименее эффективная альтернатива.

Наконец, я не совсем понимаю, почему вы должны запускать VICE (эмулятор) внутри образа докера - поскольку это уже эмулятор, вы можете просто запустить его на хосте; нет опасности, что эмулируемая программа C64 сделает что-то плохое.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .