Программно перенаправить аудиовыход конкретной программы в файл

Я до сих пор не могу понять, как воспроизвести скрипт Python с движения. Вместо этого я просто запускаю сценарий bash, который создает текстовый файл. При запуске у меня есть фактический скрипт python, выполняющий цикл while, проверяющий, существует ли текстовый файл, и запустил остальную часть скрипта, как только он появится.

8
15.11.2016, 22:07
1 ответ

Ммм, так выглядит в документации pulseaudio.

man pulseaudio

У нас есть следующие переменные среды

   $PULSE_SERVER: the server string specifying the server to connect to when a client asks for a sound server connection  and  doesn't  explicitly  ask  for  a  specific
   server.  The server string is a list of server addresses separated by whitespace which are tried in turn. A server address consists of an optional address type speci‐
   fier (unix:, tcp:, tcp4:, tcp6:), followed by a path or host address. A host address may include an optional port number. A server address may be prefixed by a string
   enclosed in {}. In this case the following server address is ignored unless the prefix string equals the local hostname or the machine id (/etc/machine-id).

   $PULSE_SINK: the symbolic name of the sink to connect to when a client creates a playback stream and doesn't explicitly ask for a specific sink.

Это должно позволить вам полностью заменить приемник pulseaudio, а если этого недостаточно, запустить наш собственный одноразовый сервер pulseaudio.

Ссылаясь на эту страницу ( https: // askubuntu.com / questions / 60837 / record-a-programs-output-with-pulseaudio ), мы узнаем о команде parec / pacat (это псевдонимы), которая может запись и запись в стоки и потоки.

Собирая все это вместе, мы получаем следующую оболочку (которую я на самом деле не запускал - хотя мне удалось заставить этот метод работать на специальной основе)

sink_name="sink-$(date +%s)"
pacat $sink_name.monitor 
parec -d steam.monitor | oggenc -b 192 -o /tmp/steam.ogg --raw - &
pid=$!
PULSE_SINK=$sink_name "$@"
kill $pid
2
27.01.2020, 20:13

Теги

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