14 คะแนน โดย flamehaven01 2025-10-27 | ยังไม่มีความคิดเห็น | แชร์ทาง WhatsApp

สวัสดีครับ ผมคือ Flamehaven ผู้สร้างเครื่องมือใหม่ ๆ ที่มีประโยชน์ทุกสัปดาห์ สัปดาห์นี้ขอแนะนำ FlashRecord

FlashRecord คือเครื่องมือจับภาพหน้าจอแบบ Python-native CLI ที่มีขนาดเบามาก (≈2MB) ออกแบบมาให้เข้าไปอยู่ในเวิร์กโฟลว์ของนักพัฒนาได้ทันที ไม่มี GUI และสามารถสร้างภาพหน้าจอ (@sc) กับการบันทึก GIF (@sv) ได้จากเทอร์มินัลโดยตรง อีกทั้งยังผสานเข้ากับสคริปต์/การทดสอบ/CI ได้โดยตรงผ่าน import flashrecord

คุณสมบัติหลัก

  • เน้น CLI และเป็น Python-native — ใช้ import flashrecord หรือรัน flashrecord @sv ได้ทันทีใน pipeline
  • เป็นมิตรกับเวิร์กโฟลว์ — บันทึกเซสชัน Claude/Gemini/Codex อัตโนมัติ, ส่งออก Markdown snippet สำหรับ PR/เอกสาร, รองรับ inline instruction note
  • เบามาก: ขนาดติดตั้งประมาณ 2MB, พึ่งพาไลบรารีมาตรฐานเป็นหลัก เช่น Pillow/NumPy/imageio
  • เรียบง่ายแบบคำสั่งเดียว@sc (ภาพหน้าจอ), @sv (บันทึก GIF) — รองรับทั้งแบบโต้ตอบและแบบสคริปต์
  • การบีบอัดอัจฉริยะ — อิมพลีเมนต์ด้วย PIL+NumPy แบบล้วน โดยได้แรงบันดาลใจจาก CWAM ช่วยลดขนาดไฟล์อย่างมากพร้อมคงส่วนที่สำคัญต่อการมองเห็นไว้
  • มี preset การบีบอัดหลายแบบ — เช่น high, balanced, compact ให้เลือกตามสมดุลระหว่างคุณภาพกับขนาดไฟล์
  • ปรับแต่งเวลาและพื้นที่อย่างเหมาะสม — มี temporal subsampling (เช่น 10→8 FPS), adaptive resolution scaling, และการรักษาคุณภาพตาม saliency (variance, edge density, entropy)
  • คงความเที่ยงตรงของสี RGB — พื้นที่สำคัญจะเก็บข้อมูลสีครบถ้วน
  • ทำความสะอาดอัตโนมัติและจัดการอายุไฟล์ — ตั้งค่าให้ลบไฟล์ที่เก่ากว่า N ชั่วโมงอัตโนมัติได้ พร้อมโครงสร้างชื่อและโฟลเดอร์เอาต์พุตที่สม่ำเสมอ
  • ข้ามแพลตฟอร์ม — ใช้คำสั่งเดียวกันบน Windows / macOS / Linux (※ macOS: screencapture, Linux: gnome-screenshot/scrot เป็นต้น, Windows: อิงจาก ImageGrab)
  • พร้อมใช้งานระดับโปรดักชัน — มี pytest test suite, เอกสาร Sphinx และ GitHub Actions CI
  • ผสานกับสคริปต์และ CI ได้ง่าย — มีเส้นทางเอาต์พุตแบบ deterministic จึงแนบเป็นหลักฐานเชิงภาพได้ทันทีในงานทดสอบ/สคริปต์ build/งาน CI
  • ไม่มี native dependency เพิ่มเติม — ต้องการเพียง Pillow, NumPy, imageio เท่านั้น ไม่ต้องใช้ external binary ขนาดใหญ่
  • จับภาพและเข้ารหัสได้รวดเร็ว — ภาพหน้าจอใช้เวลาประมาณ 10–50ms (ขึ้นอยู่กับแพลตฟอร์ม); pipeline การจับภาพและเข้ารหัสถูกออกแบบมาสำหรับเวิร์กโฟลว์นักพัฒนา
  • API ที่ขยายต่อได้ — มีฟังก์ชันที่ import ได้สำหรับภาพหน้าจอ/การบันทึก/การจัดการเซสชัน — ฝังลงใน tooling หรือการทดสอบได้
  • เน้นความเป็นส่วนตัว — ค่าเริ่มต้นคือประมวลผลในเครื่อง; การอัปโหลดขึ้นคลาวด์จะทำงานก็ต่อเมื่อผู้ใช้ผสานเองเท่านั้น
  • พร้อมสำหรับโรดแมปในอนาคต — มีแผนสำหรับเอาต์พุต WebP/MP4, การจับเสียง, การจับเฉพาะหน้าต่าง, ส่วนขยาย VSCode, การสตรีม เป็นต้น

กรณีใช้งานหลัก:

  • สร้าง GIF สำหรับคำอธิบาย PR และเอกสารได้อย่างรวดเร็ว
  • ทำ visual test automation ใน 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

ยินดีรับ feedback, issue และ PR — หากต้องการ benchmark ที่จำเป็น (ขนาดตัวอย่าง GIF ก่อน/หลัง, ประสิทธิภาพตามความละเอียด·FPS) หรือคำอธิบายเชิงเทคนิคเพิ่มเติม บอกได้เลยแล้วผมจะโพสต์ให้ทันที

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น