Introducción

Hasta hace poco, Spectacle —el capturador de pantalla de KDE— solo permitía grabar la actividad visual del escritorio. Para incluir audio, los usuarios dependían de herramientas externas como ffmpeg o pavucontrol, lo que complicaba la automatización y generaba desincronización entre el video y el audio. Con la implementación de la grabación de audio nativa en Spectacle (disponible desde Plasma 6.0 y Spectacle 24.02), ahora es posible capturar simultáneamente la pantalla y el audio del micrófono, del sistema o ambos, con sincronización garantizada.

Esta funcionalidad es especialmente relevante para equipos de soporte técnico, creadores de contenido, desarrolladores que documentan bugs con audio, o incluso para sesiones de capacitación donde la grabación integrada reduce pasos y errores humanos. En entornos empresariales con políticas de privacidad estrictas (por ejemplo, en sectores financieros o de salud), la capacidad de grabar solo el audio del sistema —sin incluir el micrófono— mitiga riesgos de filtración de datos sensibles a través del micrófono.

Qué ocurrió

En la iteración 24.02 de Spectacle (lanzada el 14 de febrero de 2024), el desarrollador Khudoberdi Abdujalilov implementó soporte para grabación de audio nativa, solucionando el bug reportado en KDE Bugzilla #474798. La implementación utiliza PipeWire como backend de audio por defecto en sistemas modernos, aunque también soporta ALSA en entornos sin PipeWire (como algunas distribuciones minimalistas o contenedores sin sesión gráfica).

La funcionalidad se integra directamente en la interfaz de usuario de Spectacle, sin necesidad de configuraciones adicionales en pavucontrol o scripts externos. Los usuarios pueden seleccionar entre tres modos de captura de audio:

  • Solo micrófono: captura el audio del dispositivo de entrada conectado (ej: auricular con micrófono).
  • Solo sistema: captura el audio que reproduce el sistema (ej: notificaciones, reproducción de videos, reuniones en Jitsi/Zoom).
  • Micrófono + sistema: mezcla ambos canales en un único stream.

El formato de salida por defecto es WAV (sin compresión), pero el usuario puede exportar a MP3 o Ogg Vorbis mediante el menú de exportación. La sincronización entre video y audio se gestiona automáticamente mediante timestamps en el contenedor Matroska (.mkv), evitando desfasajes comunes en grabaciones con herramientas externas.

Impacto para DevOps / Infraestructura / Cloud / Seguridad

DevOps y automatización

Para equipos de DevOps que generan documentación técnica (ej: demostraciones de despliegues, grabaciones de CI/CD), la grabación integrada elimina dependencias externas como ffmpeg en pipelines. Esto reduce el tamaño de los contenedores de CI (al no necesitar ffmpeg instalado) y simplifica scripts como:

spectacle --region --delay 3 --audio system --output /mnt/docs/demo-$(date +%Y%m%d).mkv

En entornos cloud con restricciones de almacenamiento (ej: AWS EFS con cuota de 100 GB), la grabación nativa permite:

  • Comprimir el audio a Ogg Vorbis (ahorro del 70% vs WAV).
  • Limitar la duración máxima a 5 minutos para evitar saturación de logs.

Infraestructura y soporte remoto

Para equipos de soporte que documentan incidencias con captura de pantalla (ej: bugs en aplicaciones KDE o GNOME), la sincronización nativa evita:

  • Desfasajes entre video y audio (comunes en grabaciones con ffmpeg + parec).
  • Dependencia de versiones específicas de ffmpeg (problema en distribuciones como RHEL 8, donde ffmpeg versión 4.2 no soporta PipeWire correctamente).

En entornos con Wayland (el default en Fedora 40 y Ubuntu 24.04), la grabación de audio funciona sin configuraciones adicionales, a diferencia de soluciones como simple-screen-recorder, que requieren permisos de xdg-desktop-portal y ajustes en xdg-permission-store.

Seguridad

La capacidad de grabar solo el audio del sistema (sin incluir el micrófono) es crítica en entornos con políticas de privacidad como:

  • HIPAA (salud): evita grabar conversaciones privadas del usuario.
  • PCI-DSS (finanzas): previene fugas de datos sensibles a través del micrófono durante grabaciones de demostraciones técnicas.

En distribuciones como Fedora 40 o Kubuntu 24.04, la grabación de audio en Spectacle respeta las políticas de PipeWire para aislamiento de streams, evitando que aplicaciones maliciosas intercepten audio de otras sesiones (CVE-2023-38492 en versiones anteriores de PipeWire < 0.3.84).

Cloud y contenedores

En contenedores Docker sin interfaz gráfica (ej: para automatizar capturas en CI), la grabación de audio de Spectacle requiere:

  1. Conexión a un socket de X11 (DISPLAY=:0).
  2. Permisos de audio mediante --device /dev/snd o --group-add audio.

Ejemplo para Docker:

services:
  spectacle:
    image: ubuntu:24.04
    environment:
      - DISPLAY=:0
    volumes:
      - /tmp/.X11-unix:/tmp/.X11-unix
      - /dev/snd:/dev/snd
    command: ["spectacle", "--region", "--audio", "system", "--output", "/output/demo.mkv"]

Detalles técnicos

Backends de audio soportados

BackendVersión mínima requeridaDistribuciones compatiblesNotas
PipeWire0.3.84Fedora 40, Ubuntu 24.04, ArchDefault en Wayland.
ALSA1.2.9+Debian 12, RHEL 9Requiere configurar BLOCK30.
PulseAudio16.1+Ubuntu 22.04, Kubuntu 23.10Desaconsejado en Wayland.
### Formatos de salida

Spectacle 24.02 soporta:

  • WAV: Sin compresión (útil para edición posterior).
  • MP3: Codificación con libmp3lame (requiere ffmpeg instalado).
  • Ogg Vorbis: Codificación con libvorbis (mejor relación calidad/tamaño).

La sincronización se gestiona mediante:

  • Timestamps en el contenedor Matroska (.mkv).
  • Resincronización automática cada 10 segundos en caso de desfasaje (>50 ms).

Dependencias

Spectacle ahora depende de:

  • kpipewire (versión ≥ 5.112) para integración con PipeWire.
  • KF6 (versión ≥ 6.1.0) para manejo de streams de audio.

En distribuciones como openSUSE Tumbleweed, la instalación requiere:

sudo zypper install spectacle pipewire pipewire-pulseaudio kf6-kpipewire

Qué deberían hacer los administradores y equipos técnicos

1. Verificar compatibilidad y actualizar

Fedora 40 / KDE Plasma 6.0+:
sudo dnf upgrade --refresh spectacle
Ubuntu 24.04 / Kubuntu 24.04:
sudo apt update && sudo apt upgrade spectacle
Arch Linux / Manjaro:
sudo pacman -Syu spectacle
openSUSE Tumbleweed:
sudo zypper dup --allow-vendor-change

2. Configurar permisos de audio

En sistemas con PipeWire, verificar los permisos:

pactl info | grep "Server Name"

Si el servidor es PipeWire, los permisos se gestionan automáticamente. En sistemas con PulseAudio, configurar:

sudo usermod -aG pulse-access $(whoami)

Reiniciar la sesión para aplicar cambios.

3. Probar la grabación

  1. Abrir Spectacle (Alt+P por defecto).
  2. Seleccionar Región o Pantalla completa.
  3. En Opciones de audio, elegir:
Solo micrófono (para grabaciones de voz).

Solo sistema (para demostraciones técnicas).

Micrófono + sistema (para reuniones).

  1. Iniciar la grabación con F9 (atajo por defecto).
Ejemplo de CLI para automatización:
spectacle --region --delay 2 --audio system --output ~/grabaciones/demo-$(date +%Y%m%d-%H%M).mkv

4. Comprimir grabaciones para almacenamiento

Para reducir tamaño (ej: en NAS con cuota de 500 GB):

ffmpeg -i demo-20240415-1430.mkv -c:v libx264 -crf 23 -preset fast -c:a libvorbis -q:a 5 -y demo-comprimido-$(date +%Y%m%d).mkv
  • -crf 23: Equilibrio calidad/tamaño (valores 18-28 son aceptables).
  • -q:a 5: Calidad de audio Ogg Vorbis (0=mejor, 10=peor).

5. Configurar políticas de privacidad (entornos empresariales)

En sistemas con SELinux (RHEL 9, Fedora con SELinux enforcing), aplicar:

sudo setsebool -P allow_spectacle_audio_record on

Para restringir la grabación solo al audio del sistema (sin micrófono), editar el archivo /etc/spectaclerc (crearlo si no existe):

[Audio]
Mode=system

6. Integrar en pipelines de CI/CD

Ejemplo para GitHub Actions (usando Podman para evitar dependencias de X11):

jobs:
  record_demo:
    runs-on: ubuntu-latest
    container:
      image: ubuntu:24.04
      options: --device /dev/snd --group-add audio
    steps:
      - name: Install dependencies
        run: |
          apt update && apt install -y spectacle xvfb
      - name: Start Xvfb
        run: Xvfb :0 -screen 0 1920x1080x24 &
      - name: Record screen and audio
        run: |
          export DISPLAY=:0
          spectacle --region --audio system --output demo.mkv
      - name: Upload artifact
        uses: actions/upload-artifact@v4
        with:
          name: demo-grabacion
          path: demo.mkv

Conclusión

La grabación nativa de audio en Spectacle 24.02 resuelve una de las limitaciones más críticas de esta herramienta: la dependencia de soluciones externas para capturar audio sincronizado. Para equipos de DevOps, esto significa pipelines más ligeros y menos dependencias; para soporte técnico, grabaciones más precisas y auditables; y para entornos empresariales, compliance con políticas de privacidad sin sacrificar funcionalidad.

La implementación es robusta en entornos con PipeWire (default en distribuciones modernas) y mantiene compatibilidad hacia atrás con ALSA y PulseAudio. Sin embargo, la adopción requiere:

  1. Actualizar a Spectacle ≥ 24.02 y KDE Plasma ≥ 6.0.
  2. Configurar permisos de audio correctamente (especialmente en contenedores o sesiones remotas).
  3. En entornos con restricciones de almacenamiento, comprimir las grabaciones a Ogg Vorbis.

Para quienes aún dependan de herramientas como ffmpeg, la transición es sencilla: Spectacle ahora ofrece una alternativa integrada, con sincronización garantizada y menos pasos de configuración.

Fuentes

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *