martes, 11 de febrero de 2014

PaWebControl: Interfaz web para controlar el volumen de PulseAudio

Note: For a more international explanation of PulseAudio Web Control panel interface (PaWebControl) please visit github.
Actualización (13/12/2015): Añadido screencast que muestra cómo cambiar una aplicación de dispositivo de salida.
¿Estás tumbado en el sofá y quieres cambiar el volumen de la peli que estás viendo en tu HTPC?

Con la primera versión funcional de la interfaz web para controlar el servidor de sonido PulseAudio (PaWebControl) no necesitarás nada más que tu móvil.
Nota: Lo de inventarme nombres, imagino que con la práctica se me ocurrirán cada vez mejores.
De lo fácil que es de instalar casi funciona por arte de magia. Necesitas que el ordenador disponga del servidor de sonido PulseAudio (en GNU/Linux va de perlas y probablemente ya lo estés usando, en Windows no lo he probado). Además también necesitas tener configurado un servidor web (lo más simple que interprete php ya sirve, hay documentación a patadas). No lo he probado, pero imagino que si el servidor web se está ejecutando bajo un usuario distinto al usado por PulseAudio no debería funcionar.

Yo he estado usando para las pruebas el que viene integrado con php:
$ php -S 0.0.0.0:8000 -t PaWebControl/

Lo siguiente es abrir el navegador y poner la dirección IP:8000 del ordenador en cuestión, por ejemplo 192.168.1.23:8000, con esto nos debería aparecer una lista de los dispositivos de salida y debajo de cada uno una lista de las aplicaciones que estan sonando a través suyo.

Deslizando la barra a derecha e izquierda podremos modificar el volumen.

Marcando el checkbox que sale a la derecha de cada uno permite silenciar/desilenciar el canal.

Arrastrando las cajas verdes (drag&drop) se puede cambiar una aplicación entre las distintas salidas.

Tengo previsto añadir también un botón de mute y la opción de poder desviar el sonido de las aplicaciones a otras salidas de audio de la lista.

De momento lo más limitatante es pactl, el comando para controlar PulseAudio desde la consola, y la forma de interactuar con él. Así, de poco sirve mostrar el volumen de los 6 canales de audio de una aplicación si no podré fijarlos por separado. Ni tampoco puedo obtener sólo un dato concreto sino que siempre tengo que leer y filtrar toda la información. Por suerte el volumen de datos debería ser en general bastante bajo por lo que el trabajo extra tampoco será apreciable.


Podeis obtener PaWebControl en Github.

Por supuesto estoy abierto a ayuda y sugerencias. Gracias.

No hay comentarios:

Publicar un comentario