LINUX.ORG.RU

PipeWire и запись разговоров в мессенджерах

 , , , ,


0

2

Добрый вечер, ЛОРчане!

Как известно, в 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 или аналогичных программах.

★★★★★

Последнее исправление: ls-h (всего исправлений: 4)