2023-10-10 02:56:02 +02:00
|
|
|
# pulseaudio-tcp - Redirect PulseAudio to and from Remote Computer
|
2023-10-08 22:09:08 +02:00
|
|
|
|
|
|
|
## 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.
|
2023-10-10 02:56:02 +02:00
|
|
|
* 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.
|
2023-10-08 22:09:08 +02:00
|
|
|
* 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 <remote-user>@<remote-ip>
|
|
|
|
```
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
```shell
|
|
|
|
git clone https://tk-sls.de/git/tk-sls.de/pulseaudio-tcp.git
|
|
|
|
cd pulseaudio-tcp
|
|
|
|
sudo make install
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2023-10-10 02:56:02 +02:00
|
|
|
### Setup Procedure
|
2023-10-08 22:09:08 +02:00
|
|
|
|
|
|
|
As regular user on local host:
|
|
|
|
|
|
|
|
```shell
|
|
|
|
pulseadio-tcp setup
|
|
|
|
```
|
|
|
|
|
2023-10-10 02:56:02 +02:00
|
|
|
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
|
2023-10-08 22:09:08 +02:00
|
|
|
|
|
|
|
```shell
|
|
|
|
pulseadio-tcp start
|
|
|
|
```
|
|
|
|
|
2023-10-10 02:56:02 +02:00
|
|
|
### Stopping the Service
|
2023-10-08 22:09:08 +02:00
|
|
|
|
|
|
|
```shell
|
|
|
|
pulseadio-tcp stop
|
|
|
|
```
|
|
|
|
|
2023-10-10 02:56:02 +02:00
|
|
|
### Checking if the Service is running
|
2023-10-08 22:09:08 +02:00
|
|
|
|
|
|
|
```shell
|
|
|
|
pulseadio-tcp status
|
|
|
|
```
|
|
|
|
|
|
|
|
## Author and Copyright
|
|
|
|
|
2023-10-08 22:17:33 +02:00
|
|
|
© 2023 Tilman Kranz <t.kranz@tk-sls.de>
|
2023-10-08 22:09:08 +02:00
|
|
|
|
2023-10-08 22:17:33 +02:00
|
|
|
Please see the file LICENSE for terms and conditions of use and distribution.
|