SSH Transcode Workers¶
Offload encoding to a remote machine over SSH. Useful when your NAS or media server is low-powered and you have a separate box with more CPU or a GPU encoder.
How it works¶
When SSH transcode is configured, Discarr:
- Copies the source disc files to the remote host over SCP
- Runs ffmpeg or HandBrake on the remote machine
- Copies the encoded output back
- Triggers the arr notification from the local machine
Discarr (local)
│
│ scp source files →
▼
Remote encode host (SSH)
│ ffmpeg / HandBrake
│
│ ← scp encoded output
▼
Discarr (local)
│ notify Sonarr/Radarr
▼
Arr import
Configuration¶
SSH_TRANSCODE_HOST=encode-box # hostname or IP of the encode machine
SSH_TRANSCODE_USER=mediauser # SSH user on that machine
SSH_TRANSCODE_MEDIA_ROOT=/media # path where media is accessible on the remote
SSH_TRANSCODE_KEY=~/.ssh/id_ed25519 # optional: SSH key (defaults to ~/.ssh/id_rsa)
Setting up SSH key auth¶
Generate a key pair if you don't have one:
Copy the public key to the remote host:
Verify passwordless login:
Shared media mount (recommended)¶
If both machines mount the same NFS share, Discarr can skip the SCP copy entirely — it passes the already-accessible path directly to the remote transcoder.
Set the same SSH_TRANSCODE_MEDIA_ROOT as the NFS mount point on the remote:
Discarr detects the shared mount and avoids copying.
Requirements on the remote host¶
ffmpeg+ffprobe(always)HandBrakeCLI(if using HandBrake as the transcoder)- SSH server running and accessible from the Discarr host
- Write access to
SSH_TRANSCODE_MEDIA_ROOT
Tips¶
- Use a dedicated SSH key for Discarr rather than your personal key
- If encoding stalls, check disk space on the remote — HEVC encodes of full discs can use 50–100 GB of temp space
- For GPU-accelerated remote encoding (NVENC), make sure the ffmpeg on the remote is built with NVENC support:
ffmpeg -encoders | grep nvenc