Guía · 06

Teléfono y control remoto

Controla amp desde la terminal, desde las teclas multimedia o desde un teléfono — como mando, o como reproductor propio.

Desde la terminal

Estos comandos hablan con el daemon en marcha y vuelven al instante. Nunca inician uno.

amp --toggle                        # también --play, --pause, --stop, --next, --previous, --mute
amp --volume +5                     # relativo; --volume 60 es absoluto (hasta 150)
amp --seek -10                      # segundos; --seek 1:30 salta dentro de la pista
amp --speed 1.25                    # de 0.5 a 2.0, se conserva el tono
amp --shuffle on                    # on, off, o alterna sin valor
amp --repeat one                    # off, all, one
amp --open ~/playlists/mix.m3u8     # poner en cola una lista, o reproducir la URL de un stream
amp --status                        # una línea: lo que suena
amp --status --json                 # todo, para scripts

Se combinan: amp --volume +5 --next --status. Una línea de estado de tmux, un atajo del gestor de ventanas:

set -g status-right '#(amp --status 2>/dev/null)'
bindsym XF86AudioPlay exec amp --toggle

Teclas multimedia

amp responde a las teclas multimedia del teclado y aparece en el Now Playing del sistema — mediante MPRIS en Linux, de forma nativa en macOS y Windows. Nada que configurar.

Un teléfono o un navegador

Esto está desactivado hasta que lo activas. En config.toml:

[remote_http]
enabled = true
host = "0.0.0.0"      # todas las interfaces; "127.0.0.1" lo deja en esta máquina
port = 8420

Luego pide a amp la dirección y la clave de emparejamiento:

amp --http-remote-info

Abre la dirección en el teléfono, escribe la clave una vez y elige en la parte superior de la página:

  • Speakers — un mando para los altavoces de este ordenador: transporte, volumen, cola, biblioteca.
  • This device — la propia cola del teléfono, sobre las mismas bibliotecas, reproducida por el propio teléfono. El ordenador queda en silencio. En Quality, elige los archivos originales o un stream más ligero (Opus o MP3, que necesitan ffmpeg en el ordenador).

Cada teléfono sigue emparejado hasta que cierra sesión. Desde el ordenador:

amp daemon devices                  # los teléfonos y navegadores emparejados, numerados
amp daemon forget 3                 # cerrar la sesión de ese

En la red local el tráfico es HTTP sin cifrar. Actívalo solo en una red de confianza — o accede a amp a través de una VPN o un proxy, más abajo.

Desde fuera de casa

amp no hace TLS por sí mismo. Ponlo detrás de algo que lo haga.

Tailscale (o WireGuard) ya cifra: mantén host = "0.0.0.0" y define public_url = "http://mybox.tailnet-name.ts.net:8420".

Caddy en la misma máquina obtiene el certificado por sí solo:

amp.example.org {
    reverse_proxy 127.0.0.1:8420
}
[remote_http]
enabled = true
host = "127.0.0.1"                       # solo el proxy llega a amp
public_url = "https://amp.example.org"
trusted_proxies = ["127.0.0.1"]

Con nginx, reenvía las cabeceras Upgrade y Connection del WebSocket para /ws.