FlashRecord — Công cụ ghi hình terminal siêu nhẹ cho lập trình viên - chụp màn hình và GIF ngay từ terminal
(github.com/Flamehaven)Xin chào, mình là Flamehaven, người tạo ra các công cụ mới và hữu ích mỗi tuần. Tuần này mình xin giới thiệu FlashRecord.
FlashRecord là công cụ chụp màn hình Python-native CLI siêu nhẹ (≈2MB), được thiết kế để có thể đi thẳng vào workflow của lập trình viên. Không có GUI; bạn có thể tạo ảnh chụp màn hình (@sc) và ghi GIF (@sv) trực tiếp từ terminal, đồng thời tích hợp thẳng vào script/test/CI bằng import flashrecord.
Tính năng chính
- Ưu tiên CLI & Python native — chạy trực tiếp bằng
import flashrecordhoặcflashrecord @svtrong pipeline. - Thân thiện với workflow — tự động lưu phiên Claude/Gemini/Codex, xuất snippet Markdown cho PR/tài liệu, hỗ trợ ghi chú hướng dẫn inline.
- Siêu nhẹ: dung lượng cài đặt khoảng 2MB, phụ thuộc chủ yếu vào các thư viện tiêu chuẩn như Pillow/NumPy/imageio
- Đơn giản chỉ với một lệnh —
@sc(chụp màn hình),@sv(ghi GIF) — hỗ trợ cả chế độ tương tác lẫn script. - Nén thông minh — triển khai thuần PIL+NumPy lấy cảm hứng từ CWAM, giúp giảm mạnh kích thước tệp mà vẫn giữ lại các phần quan trọng về mặt thị giác.
- Nhiều preset nén — như
high,balanced,compact, cho phép chọn đánh đổi giữa chất lượng và dung lượng. - Tối ưu theo thời gian và không gian — temporal subsampling (ví dụ: 10→8 FPS), adaptive resolution scaling, bảo toàn chất lượng dựa trên saliency (variance, edge density, entropy).
- Giữ độ trung thực màu RGB — các vùng quan trọng vẫn được giữ đầy đủ thông tin màu sắc.
- Tự động dọn dẹp & quản lý vòng đời — có thể cấu hình tự xóa các tệp cũ hơn N giờ, với cấu trúc thư mục và quy tắc đặt tên đầu ra nhất quán.
- Đa nền tảng — cùng một lệnh cho Windows / macOS / Linux (※ macOS:
screencapture, Linux:gnome-screenshot/scrot, Windows: dựa trên ImageGrab). - Sẵn sàng cho production — bao gồm test suite pytest, tài liệu Sphinx và GitHub Actions CI.
- Dễ tích hợp với script & CI — đường dẫn đầu ra có tính quyết định, có thể đính kèm trực tiếp làm bằng chứng trực quan trong test/build script hoặc CI job.
- Không cần thêm phụ thuộc native — chỉ cần Pillow, NumPy, imageio; không cần binary ngoài nặng nề.
- Chụp và encode nhanh — ảnh chụp màn hình khoảng 10–50ms (tùy nền tảng); pipeline chụp và encode được tối ưu cho workflow của lập trình viên.
- API mở rộng được — cung cấp các hàm có thể import cho chụp màn hình/ghi hình/quản lý phiên — có thể nhúng vào tooling hoặc test.
- Ưu tiên quyền riêng tư — mặc định xử lý cục bộ; chỉ upload cloud khi người dùng tự tích hợp.
- Sẵn sàng cho roadmap — đang lên kế hoạch cho đầu ra WebP/MP4, ghi âm thanh, chụp theo cửa sổ, extension VSCode, streaming, v.v.
Các trường hợp sử dụng chính:
- Tạo nhanh GIF cho mô tả PR và tài liệu
- Tự động hóa visual testing trong CI và đính kèm GIF làm bằng chứng khi thất bại
- Tạo tài nguyên tutorial/demo mà không cần rời khỏi terminal
Thử ngay bây giờ (cài đặt từ source):
git clone https://github.com/Flamehaven/FlashRecord
cd FlashRecord
pip install -e .
flashrecord @sc # chụp màn hình
flashrecord @sv 5 10 # ví dụ: 5 giây, 10 FPS
Repo: https://github.com/Flamehaven/FlashRecord — giấy phép MIT.
Rất hoan nghênh feedback, issue và PR — nếu bạn cần benchmark cụ thể (dung lượng mẫu GIF trước/sau, hiệu năng theo độ phân giải·FPS) hoặc giải thích kỹ thuật chi tiết hơn, mình sẽ đăng ngay.
Chưa có bình luận nào.