# 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). ```shell ssh-copy-id @ ``` ## Installation ```shell 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: ```shell 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 ```shell pulseadio-tcp start ``` ### Stopping the Service ```shell pulseadio-tcp stop ``` ### Checking if the Service is running ```shell pulseadio-tcp status ``` ## Author and Copyright © 2023 Tilman Kranz <t.kranz@tk-sls.de> Please see the file LICENSE for terms and conditions of use and distribution.