1

Я записываю Let's Play с использованием ffmpeg на Arch Linux. Я бы хотел, чтобы он записывал как звук игры, так и мой микрофон. Я использую PulseAudio для звука. Я могу получить его для записи микрофона или звука игры, но не обоих. Мне нужно, чтобы вывод был в формате, подходящем для YouTube (видео: h264, аудио: AAC).

Как я могу записать оба источника одновременно? Я ищу решение, которое либо объединяет их в одну аудиодорожку в выходном файле, либо дает мне два выходных аудиофайла и другую программу для их объединения.

Мой нынешний хак - использовать gst-launch для отправки всех микрофонных входов на выход динамиков, и, поскольку это действительно отвлекает, уменьшите громкость на моих наушниках до нуля.

1 ответ1

2

Первый вариант

Так как вы уже можете записывать аудио и микрофон игры, я постараюсь вывести их в два файла:

parec --format=s16le --rate=44100 -d ... | ffmpeg -ac 2 -f s16le -ar 44100  -i - mic.mp3
parec --format=s16le --rate=44100 -d ... | ffmpeg -ac 2 -f s16le -ar 44100  -i - game.mp3

а затем используйте Audacity, чтобы синхронизировать их и объединить в один аудиофайл.

Второй вариант

Отсюда я бы попробовал:

Сначала загрузите нулевую раковину:

модуль загрузки pactl module-null-sink sink_name = 'foo'

Затем загрузите две петли модуля:

модуль нагрузки pactl

модуль нагрузки pactl

Используя pavucontrol, соедините выход двух петель с нулевым приемником. Подключите вход двух шлейфов к: alsa_output.pci-0000_00_14.2.analog-stereo.monitor и alsa_input.pci-0000_00_14.2.analog-стерео

Это означает, что вы будете эффективно записывать как свой микрофон, так и выход звуковой карты и воспроизводить оба потока на нулевом приемнике. Так как это нулевой приемник, вы не сможете его услышать, но вы должны увидеть индикатор VU на вкладке воспроизведения pavucontrol.

Затем, чтобы записать объединенный результат, вы просто выберите foo.monitor.

pacat -r -d foo.monitor

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