pulseaudio-tcp/README.md
2023-10-10 02:56:02 +02:00

1.9 KiB

pulseaudio-tcp - Redirect PulseAudio to and from Remote Computer

Requirements

Dependencies

  • jq
  • Audio subsystem:
    • PulseAudio or
    • Pipewire with PulseAudio compatibility (pipewire-pulse)

Installation on Client Playback Host

  • pulseaudio-tcp should be installed on a computer running PulseAudio or Pipewire with PulseAudio compatibility.
  • The computer pulseaudio-tcp is installed on ("local host") should use use a remote computer ("remote host") for playback.
    • This is refered to as "outbound" audio.
  • The local host should receive audio from the remote host for recording.
    • This is refered to as "inbound" audio.
  • The IP address and username of the remote host should be known.

SSH to User Session on Remote Host

The user on the local host should have password-less SSH to the user on the remote host (required for encryption with SSH port forwarding).

ssh-copy-id <remote-user>@<remote-ip>

Installation

git clone https://tk-sls.de/git/tk-sls.de/pulseaudio-tcp.git
cd pulseaudio-tcp
sudo make install

Usage

Setup Procedure

As regular user on local host:

pulseadio-tcp setup

The following questions will be asked:

  • IP address of remote host.
  • Name of user on remote host running PulseAudio/Pipewire.
  • Enable inbound audio.
  • Enable outbound audio.

Configuration File

The setup procedure writes a configuration file $HOME/.config/pulseaudio-tcp/config.inc.sh:

remote_ip="192.168.1.166"
remote_user="remoteuser"
inbound=true
outbound=true

Starting the Service

pulseadio-tcp start

Stopping the Service

pulseadio-tcp stop

Checking if the Service is running

pulseadio-tcp status

© 2023 Tilman Kranz <t.kranz@tk-sls.de>

Please see the file LICENSE for terms and conditions of use and distribution.