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).mkvEn 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, dondeffmpegversió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:
- Conexión a un socket de X11 (
DISPLAY=:0). - Permisos de audio mediante
--device /dev/sndo--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
| Backend | Versión mínima requerida | Distribuciones compatibles | Notas |
|---|---|---|---|
| PipeWire | 0.3.84 | Fedora 40, Ubuntu 24.04, Arch | Default en Wayland. |
| ALSA | 1.2.9+ | Debian 12, RHEL 9 | Requiere configurar BLOCK30 . |
| PulseAudio | 16.1+ | Ubuntu 22.04, Kubuntu 23.10 | Desaconsejado en Wayland. |
Spectacle 24.02 soporta:
- WAV: Sin compresión (útil para edición posterior).
- MP3: Codificación con
libmp3lame(requiereffmpeginstalado). - 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-kpipewireQué deberían hacer los administradores y equipos técnicos
1. Verificar compatibilidad y actualizar
Fedora 40 / KDE Plasma 6.0+:sudo dnf upgrade --refresh spectacleUbuntu 24.04 / Kubuntu 24.04:sudo apt update && sudo apt upgrade spectacleArch Linux / Manjaro:sudo pacman -Syu spectacleopenSUSE Tumbleweed:sudo zypper dup --allow-vendor-change2. 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
- Abrir Spectacle (
Alt+Ppor defecto). - Seleccionar Región o Pantalla completa.
- En Opciones de audio, elegir:
– Solo sistema (para demostraciones técnicas).
– Micrófono + sistema (para reuniones).
- Iniciar la grabación con F9 (atajo por defecto).
spectacle --region --delay 2 --audio system --output ~/grabaciones/demo-$(date +%Y%m%d-%H%M).mkv4. 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 onPara restringir la grabación solo al audio del sistema (sin micrófono), editar el archivo /etc/spectaclerc (crearlo si no existe):
[Audio]
Mode=system6. 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.mkvConclusió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:
- Actualizar a Spectacle ≥ 24.02 y KDE Plasma ≥ 6.0.
- Configurar permisos de audio correctamente (especialmente en contenedores o sesiones remotas).
- 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
- KDE Blog: Grabación de audio en Spectacle
- KDE Bugzilla #474798: Spectacle audio recording feature request
- Spectacle MR #561: Remove OpenCV dependency and add audio recording
- PipeWire 0.3.84 release notes
- AWS Blog: Optimizing storage in CI/CD pipelines
- FFmpeg documentation: Audio encoding with libvorbis
