FlashRecord — outil d’enregistrement de terminal ultra-léger pour développeurs - captures d’écran et GIF depuis le terminal
(github.com/Flamehaven)Bonjour, ici Flamehaven, qui crée chaque semaine de nouveaux outils utiles. Cette semaine, je vous présente FlashRecord.
FlashRecord est un outil de capture d’écran CLI natif Python ultra-léger (≈2 Mo), conçu pour s’intégrer directement au workflow des développeurs. Il n’a pas de GUI : vous pouvez créer des captures d’écran (@sc) et des enregistrements GIF (@sv) directement depuis le terminal, et l’intégrer directement dans des scripts/tests/CI via import flashrecord.
Caractéristiques principales
- Priorité au CLI & natif Python — exécutez-le directement avec
import flashrecordouflashrecord @svdans un pipeline. - Pensé pour le workflow — sauvegarde automatique des sessions Claude/Gemini/Codex, export de snippets Markdown pour les PR/la documentation, prise en charge de notes d’instructions inline.
- Ultra-léger : environ 2 Mo à l’installation, avec des dépendances principalement standard comme Pillow/NumPy/imageio
- Simplicité en une commande —
@sc(capture d’écran),@sv(enregistrement GIF) — compatible en mode interactif comme en script. - Compression intelligente — implémentation pure PIL+NumPy inspirée de CWAM, qui réduit fortement la taille des fichiers tout en préservant les parties visuellement importantes.
- Plusieurs préréglages de compression —
high,balanced,compact, etc., selon le compromis qualité/taille souhaité. - Optimisation temporelle et spatiale — sous-échantillonnage temporel (ex. 10→8 FPS), mise à l’échelle adaptative de la résolution, préservation de la qualité basée sur la saillance (variance, densité des contours, entropie).
- Préservation fidèle des couleurs RGB — les zones importantes conservent toutes leurs informations colorimétriques.
- Nettoyage automatique & gestion du cycle de vie — possibilité de supprimer automatiquement les fichiers vieux de plus de N heures, avec une structure cohérente de noms et de dossiers de sortie.
- Cross-platform — mêmes commandes sur Windows / macOS / Linux (※ macOS :
screencapture, Linux :gnome-screenshot/scrot, Windows : basé sur ImageGrab). - Prêt pour la production — suite de tests pytest, documentation Sphinx et CI GitHub Actions incluses.
- Intégration facile dans les scripts & la CI — chemins de sortie déterministes, utilisable directement comme preuve visuelle dans les scripts de test/de build et les jobs CI.
- Aucune dépendance native supplémentaire — seulement Pillow, NumPy, imageio et assimilés ; aucun binaire externe lourd nécessaire.
- Capture et encodage rapides — capture d’écran en environ 10–50 ms (selon la plateforme) ; pipeline de capture et d’encodage adapté au workflow des développeurs.
- API extensible — fonctions importables pour la capture d’écran/l’enregistrement/la gestion de session, intégrables dans des outils ou des tests.
- Centré sur la confidentialité — traitement local par défaut ; l’upload vers le cloud ne fonctionne que si l’utilisateur l’intègre explicitement.
- Roadmap prête — sorties WebP/MP4, capture audio, capture par fenêtre, extension VSCode, streaming, etc. prévus.
Principaux cas d’usage :
- Générer rapidement des GIF pour les descriptions de PR et la documentation
- Automatiser les tests visuels dans la CI et joindre un GIF de preuve en cas d’échec
- Créer des assets de tutoriel/démo sans quitter le terminal
Essayer tout de suite (installation depuis les sources) :
git clone https://github.com/Flamehaven/FlashRecord
cd FlashRecord
pip install -e .
flashrecord @sc # capture d’écran
flashrecord @sv 5 10 # exemple : 5 secondes, 10 FPS
Dépôt : https://github.com/Flamehaven/FlashRecord — licence MIT.
Vos retours, issues et PR sont les bienvenus — si vous voulez des benchmarks précis (taille des GIF avant/après, performances selon la résolution et les FPS) ou des explications techniques détaillées, je peux les publier immédiatement.
Aucun commentaire pour le moment.