Запись вывода программы с помощью PulseAudio

Один из способов проверить, работает ли домен так, как нужно, - заставить кого-то войти на ваш компьютер с его учетными данными домена. Это должно создать нового пользователя и впустить его. У меня было то же имя пользователя локально, что и у меня в домене, к которому я присоединился, и это не сработало. Мне пришлось переименовать мою старую учетную запись, а затем войти с экрана входа в систему с учетными данными домена, чтобы получить правильные пользовательские привилегии и т. Д., Связанные с моей учетной записью Ubuntu.

Изменить:

I см., что вы пытаетесь присоединиться к домену из командной строки. Когда я устанавливаю Likewise Open, появляется окно с простым в использовании графическим интерфейсом для присоединения к Домену. Вы пытались присоединиться к домену, используя его вместо CLI? В вашем случае нажмите «Оставить домен», чтобы открыть его. Если нет, вы можете попробовать переустановить пакет и подождать минуту, чтобы узнать, появляется ли Мастер.

В качестве одной из последних настроек я несколько раз узнал, что я вам нужно было добавить машину домена в файл / etc / hosts моей рабочей станции, чтобы соединение работало.

10.10.86.200 fvs-dc001.ourdomain.local
10.10.86.200 ourdomain.local

Я заменил наше фактическое доменное имя «ourdomain» в приведенном выше примере .

1
задан 13 August 2017 в 21:16

4 ответа

Улучшение ответа Waschtl этой темы, чтобы вы могли ПРОСЛУШИТЬ И ЗАПИСАТЬ звук приложения:

Сначала мы ищем наш вывод по умолчанию и помещаем его имя приемника в $DEFAULT_OUTPUT:

[ f1]

Затем мы создаем ответ Waschtl , который имеет только одно подчиненное: $ DEFAULT_OUTPUT. Звук, создаваемый приложением (источником), будет перенаправлен на подчиненный приемник (т. Е. Реальный вывод), и мы также запишем его. Он отличается от нулевого приемника, когда исходный звук не пересылается.

$ pactl load-module module-combine-sink \
  sink_name=record-n-play slaves=$DEFAULT_OUTPUT \
  sink_properties=device.description="Record-and-Play"

sink_properties является необязательным и может быть ошибкой, если вы используете пробелы в имени описания.

Then , мы могли бы использовать команду pactl move-sink-input ... для null sink $ DEFAULT_OUTPUT вместо пара), но GUI pavucontrol более прост (и отлично подходит для проверки / устранения неполадок):

$ sudo apt-get install pavucontrol
$ pavucontrol &

Затем мы воспроизводим звук в приложении, которое хотим записать. На вкладке pavucontrol Playback мы выбираем в раскрывающемся списке приложений: ОБА СЛУШАТЬ И ЗАПИСЬ .

Наконец, мы умеем записывать и слушать в одно и то же время! (lame mp3-пример, запустите на переднем плане)

$ parec --format=s16le -d record-n-play.monitor | \
  lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3"

Или мы можем записать в фоновом режиме и остановиться в любое время:

$ parec --format=s16le -d record-n-play.monitor | \
  lame -r --quiet -q 3 --lowpass 17 --abr 192 - "temp.mp3" \
   > /dev/null &1>/dev/null
$ killall -q parec lame

NB:

Чтобы отменить все или повторить процедуру: Удалите или перезагрузите приемники, используя этот ответ. pulseaudio -k отлично подходит для сброса всех настроек по умолчанию. Если мы изменим вывод по умолчанию в настройках System Sound, пользовательское приложение Playback будет перезаписано, и нам придется вернуться в pavucontrol, чтобы вернуть его в комбинированный интерфейс. Чтобы прослушивать звук с нескольких «реальных» интерфейсов (например, наушников, выхода HDMI и т. Д.), Мы должны включать все «реальные» выходы, которые мы можем использовать для прослушивания, в качестве ведомых slink slink-n-play , например: pactl load-module module-combine-sink sink_name=record-n-play slaves=real-output-1,real-output-2.
18
ответ дан 25 May 2018 в 18:53

@ Ответ Waschtl фантастический. @ixtmixilix спросила о восстановлении обычного звука после завершения записи. Вот самый простой способ, которым я знаю:

Установить и запустить графический интерфейс pavucontrol. Вы должны увидеть свое приложение для вывода звука и его метр объема на вкладке «Воспроизведение». Рядом с ним появится кнопка, показывающая, что она играет на Null Output. Нажмите на это и измените его на обычный аудиовыход, встроенный аудио аналоговый стерео в моем случае.

Вот скриншот того, что вы ищете:

[!d6 ]

Вы также можете использовать этот подход для настройки своей записи в будущем, после того как вы запустили команду load-module в ответе @ Waschtl для создания приемника.

7
ответ дан 25 May 2018 в 18:53
  • 1
    Если можно, загрузите снимок экрана в Imgur и вставьте его в свой ответ. – Lucio 3 March 2013 в 01:11
  • 2
    Схватил один, спасибо за предложение. – Jack O'Connor 5 March 2013 в 02:05

Улучшение ответа KrisWebDev дальше, если вы хотите, чтобы запись-n-play всегда была доступна, сначала найдите выход по умолчанию:

pacmd list-sinks | grep -A1 "* index" | grep -oP "<\K[^ >]+"

, который выведет что-то вроде:

alsa_output.pci-0000_00_1b.0.analog-stereo

Затем создайте файл ~/.config/pulse/default.pa:

.include /etc/pulse/default.pa

load-module module-combine-sink sink_name=record-n-play slaves=alsa_output.pci-0000_00_1b.0.analog-stereo sink_properties=device.description="Record-and-Play"

Пожалуйста, замените alsa_output.pci-0000_00_1b.0.analog-stereo на любой вывод, полученный вами из команды pacmd. Pulse не считывает конфигурационный файл по умолчанию, когда существует настраиваемый файл конфигурации, поэтому первая строка выше содержит файл конфигурации по умолчанию.

Запустите pulseaudio -k, чтобы убить текущий экземпляр pulseaudio, чтобы новый был запущен с новой конфигурацией.

Если в любое время вы вы хотите отменить изменения здесь, просто удалите файл ~/.config/pulse/default.pa и запустите pulseaudio -k.

Если вы хотите, чтобы запись-n-play стала приемником по умолчанию для всех выходов, вы можете сделать это добавив еще одну строку в конец ~/.config/pulse/default.pa:

set-default-sink record-n-play

Для программ, на которые уже была сохранена информация о пульсирующей музыке, она запоминает, какое устройство вывода использовалось последним, поэтому вам придется вручную перенастроить эти используя один из методов, описанных в ответе KrisWebDev.

5
ответ дан 25 May 2018 в 18:53

Я создал этот скрипт bash на основе ответов, предоставленных ответами @Waschtl и @KrisWebDev.

Доступно здесь: https://gist.github.com/ramast/4be3314bc73f28f55e3604497188b007

Как использовать?

$ ./pulse-recorder.bash 
    index: 225
                application.name = "ALSA plug-in [mplayer]"
                module-stream-restore.id = "sink-input-by-application-name:ALSA plug-in [mplayer]"
Choose recording index: 225
temp.mp3 file already exist, replace (y/n)? y
2
ответ дан 25 May 2018 в 18:53
  • 1
    В случае, если у вас есть несколько выходов (например, динамики, несколько гарнитур, мониторный звук), вы можете заменить в строке 21, например: default_output = alsa_output.pci-0000_00_1b.0.analog-stereo, где это происходит из вывода списка pacmd -sinks – smaudet 11 March 2018 в 02:08

Другие вопросы по тегам:

Похожие вопросы: