Добрый вечер, ЛОРчане!
Как известно, в Ubuntu с версии 22.10 используется PipeWire вместо горячо любимого на ЛОРе PulseAudio. Кажется, новый сервер вполне ничего, хотя я пробовал пока только на live системе. Правда есть один вопрос, который я ещё не знаю как лучше решить - запись звука с микрофона и динамиков при разговоре в мессенджере. В PulseAudio у меня для данных целей был скрипт:
#!/bin/bash
microphone_audio_device="default"
output=$(pacmd list-sinks | grep alsa_output | grep analog | awk '{print $2}' | sed 's/>//g;s/<//g')
speakers_audio_device="$output.monitor"
target_directory="/path/to/a/dir"
rc="ffmpeg -f pulse -thread_queue_size 512k -i $speakers_audio_device -f pulse -thread_queue_size 512k -i $microphone_audio_device -map 0 -map 1 -codec:a aac -codec:a aac"
$rc $target_directory/`date +%Y_%m_%d__%H_%M_%S`.mkv
Он для меня удобнее чем запуск GUI приложения, т.к. можно одной командой начать запись сразу в нужном мне формате. Я попробовал его на live системе и он отказался работать. Первая проблема в
pacmd
, который в принципе не будет работать с PipeWire. Но и без него (если прописать устройство) тоже не работает.В принципе и ладно, для PipeWire есть утилита
pw-record
. Но в ней есть неудобство - аудио с разных источников смешиваются. ffmpeg
в моём скрипте звук с микрофона пишет в одну дорожку, а от приложений - в другую. Это удобно, т.к. легче прослушивать отдельную дорожку, чтобы другая не мешала. Для pw-record
такого варианта не нашёл.Как/чем записать звук на отдельные дорожки при использовании PipeWire? Да и выбор кодека не помешал бы...
Всем спасибки!
P.S.: Кстати, раз уж это PipeWire, то не помешало бы и опционально иногда записывать видео. Однако, важный момент тут в том, чтобы это было быстро, одной командой (можно тоже скрипт), чтобы не надо было что-то нажимать в OBS или аналогичных программах.