FlashRecord — herramienta de grabación de terminal ultraligera para desarrolladores: capturas de pantalla y GIFs desde la terminal
(github.com/Flamehaven)Hola, soy Flamehaven, y cada semana creo herramientas nuevas y útiles. Esta semana les presento FlashRecord.
FlashRecord es una herramienta de captura de pantalla CLI nativa de Python ultraligera (≈2 MB), diseñada para integrarse directamente en el flujo de trabajo de los desarrolladores. No tiene GUI; puedes crear capturas de pantalla (@sc) y grabaciones GIF (@sv) directamente desde la terminal, y también integrarla de forma directa en scripts, pruebas o CI con import flashrecord.
Características principales
- CLI primero y nativa de Python — ejecuta
import flashrecordo lánzala directamente en tu pipeline conflashrecord @sv. - Amigable con el flujo de trabajo — guardado automático de sesiones de Claude/Gemini/Codex, exportación de fragmentos Markdown para PRs o documentación, y soporte para notas de instrucciones en línea.
- Ultraligera: tamaño de instalación de aproximadamente 2 MB, con dependencias centradas en bibliotecas estándar como Pillow/NumPy/imageio.
- Simplicidad de un solo comando —
@sc(captura de pantalla),@sv(grabación GIF) — compatible tanto con modo interactivo como con scripts. - Compresión inteligente — implementación pura con PIL+NumPy inspirada en CWAM, que mantiene las partes visualmente importantes mientras reduce drásticamente el tamaño del archivo.
- Múltiples presets de compresión — opciones como
high,balanced,compactpara elegir el equilibrio entre calidad y tamaño. - Optimización temporal y espacial — submuestreo temporal (por ejemplo, 10→8 FPS), escalado adaptativo de resolución y preservación de calidad basada en saliencia (varianza, densidad de bordes, entropía).
- Mantiene la fidelidad de color RGB — las áreas importantes conservan toda la información de color.
- Limpieza automática y gestión del ciclo de vida — permite configurar el borrado automático de archivos con más de N horas, con nombres de salida y estructura de carpetas consistentes.
- Multiplataforma — mismos comandos en Windows / macOS / Linux (※ macOS:
screencapture, Linux:gnome-screenshot/scrot, Windows: basado en ImageGrab). - Lista para producción — incluye suite de pruebas con pytest, documentación Sphinx y CI con GitHub Actions.
- Fácil integración con scripts y CI — rutas de salida determinísticas para adjuntar evidencia visual directamente en pruebas, scripts de build o tareas de CI.
- Sin dependencias nativas adicionales — solo requiere Pillow, NumPy e imageio; no necesita binarios externos pesados.
- Captura y codificación rápidas — capturas de pantalla de alrededor de 10–50 ms (según la plataforma); pipeline de captura y codificación ajustado al flujo de trabajo de desarrollo.
- API extensible — ofrece funciones importables para capturas, grabación y gestión de sesiones, integrables en herramientas o pruebas.
- Enfoque en la privacidad — el procesamiento es local por defecto; las subidas a la nube solo funcionan si el usuario las integra.
- Roadmap listo — están planeadas salidas WebP/MP4, captura de audio, captura por ventana, extensión para VSCode, streaming y más.
Casos de uso principales:
- Crear rápidamente GIFs para descripciones de PRs y documentación.
- Automatizar pruebas visuales en CI y adjuntar un GIF como evidencia cuando fallen.
- Crear recursos para tutoriales o demos sin salir de la terminal.
Pruébalo ahora mismo (instalación desde el código fuente):
git clone https://github.com/Flamehaven/FlashRecord
cd FlashRecord
pip install -e .
flashrecord @sc # captura de pantalla
flashrecord @sv 5 10 # ejemplo: 5 segundos, 10 FPS
Repo: https://github.com/Flamehaven/FlashRecord — licencia MIT.
Se agradecen comentarios, issues y PRs; si quieren benchmarks específicos (como tamaño antes/después de GIFs de muestra, o rendimiento por resolución y FPS) o una explicación técnica más detallada, la publico de inmediato.
Aún no hay comentarios.