FlashRecord — 開発者向け超軽量ターミナル録画ツール - スクリーンショット・GIFをターミナルから
(github.com/Flamehaven)こんにちは。毎週、新しくて便利なツールを作っている Flamehaven です。今週は FlashRecord を紹介します。
FlashRecord は、開発者のワークフローにそのまま組み込めるよう設計された超軽量(約2MB)の Python-native CLI スクリーンキャプチャツールです。GUI はなく、ターミナルから直接スクリーンショット(@sc)と GIF 録画(@sv)を作成でき、import flashrecord によりスクリプト/テスト/CI に直接統合できます。
主な特徴
- CLI 優先 & Python ネイティブ —
import flashrecordしたり、パイプラインでflashrecord @svをそのまま実行可能。 - ワークフローに親和的 — Claude/Gemini/Codex セッションの自動保存、PR/ドキュメント向け Markdown スニペットの書き出し、インライン指示ノートをサポート。
- 超軽量: インストール容量は約 2MB、依存関係は Pillow/NumPy/imageio など標準的なライブラリ中心
- ワンコマンドでシンプル—
@sc(スクリーンショット)、@sv(GIF 録画)— 対話型・スクリプト方式の両方に対応。 - スマート圧縮 — CWAM に着想を得た純粋な PIL+NumPy 実装により、視覚的に重要な部分を保ちながらファイルサイズを大幅に削減。
- 複数の圧縮プリセット —
high、balanced、compactなど、品質とサイズのトレードオフを選択可能。 - 時間・空間の最適化 — 時間的サブサンプリング(例: 10→8 FPS)、適応的な解像度スケーリング、サリエンシーに基づく品質保持(分散、エッジ密度、エントロピー)。
- RGB 色忠実度を維持 — 重要な領域では完全な色情報を保持します。
- 自動整理 & ライフサイクル管理 — N 時間以上経過したファイルを自動削除する設定が可能で、一貫した出力命名/フォルダ構成を提供。
- クロスプラットフォーム — Windows / macOS / Linux で同一コマンド(※ macOS:
screencapture、Linux:gnome-screenshot/scrotなど、Windows: ImageGrab ベース)。 - 本番利用に対応 — pytest テストスイート、Sphinx ドキュメント、GitHub Actions CI を含む。
- スクリプト & CI との統合が容易 — 決定的な出力パスにより、テスト/ビルドスクリプト/CI ジョブで視覚的証跡をそのまま添付可能。
- 追加のネイティブ依存なし — Pillow、NumPy、imageio 程度のみが必要で、重い外部バイナリは不要。
- 高速なキャプチャ・エンコード — スクリーンショットは約 10–50ms(プラットフォームにより異なる)。開発者ワークフロー向けに最適化されたキャプチャ・エンコードパイプライン。
- 拡張可能な API — スクリーンショット/録画/セッション管理向けの import 可能な関数を提供し、ツールやテストに組み込み可能。
- プライバシー重視 — デフォルトではローカル処理。クラウドアップロードはユーザーが統合した場合にのみ動作。
- ロードマップ準備済み — WebP/MP4 出力、音声キャプチャ、ウィンドウ単位のキャプチャ、VSCode 拡張、ストリーミングなどを計画中。
主なユースケース:
- PR 説明やドキュメント向けの GIF を素早く生成
- CI で視覚テストを自動化し、失敗時に証拠 GIF を添付
- ターミナルを離れずにチュートリアル/デモ用アセットを作成
今すぐ試す(ソースからインストール):
git clone https://github.com/Flamehaven/FlashRecord
cd FlashRecord
pip install -e .
flashrecord @sc # スクリーンショット
flashrecord @sv 5 10 # 5秒、10FPS の例
リポジトリ: https://github.com/Flamehaven/FlashRecord — MIT ライセンス。
フィードバック、Issue、PR を歓迎します。必要であれば、ベンチマーク(サンプル GIF の圧縮前後サイズ、解像度・FPS 別の性能)や技術的な詳細説明もすぐに掲載します。
まだコメントはありません。