ประวัติการพัฒนา รายละเอียดเวอร์ชัน และข้อมูลเทคนิคของระบบ
ฟีเจอร์ใหม่และการปรับปรุงที่สำคัญ
ต่อยอดจากรอบก่อน: ตอนนี้กล้อง AIBOX/edge บนหน้า ดูสด (/live) เล่นบน iPhone/iPad ได้แล้ว (คู่กับ klynx-api 4.123.1 ที่แก้ฝั่งเซิร์ฟเวอร์ให้สร้างสตรีม HLS ได้). และถ้ากล้องตัวไหนยังไม่มีสตรีม HLS จริง ๆ (ไม่มีสัญญาณ/ยังไม่รองรับ) จะขึ้นข้อความบอกชัดเจนแทนที่จะเป็น "FLV not supported" ที่งงเดิม (4.11.1)
เดิม iPhone/iPad เปิดดูสดไม่ได้ (จอดำ) เพราะ Safari เล่น flv.js และ WebRTC ไม่ได้. ตอนนี้เมื่อเปิดจากอุปกรณ์ iOS ระบบจะสลับไปเล่นแบบ HLS ผ่าน <video> ของ Safari โดยอัตโนมัติ — ใช้ได้ที่หน้า ดูสด (/live), วิดีโอวอลล์ และแดชบอร์ด BI. กล้องที่เล่นผ่าน WebRTC ปกติจะดูได้ทันที (กล้อง AIBOX/ATA แบบล็อกอินยังต้องรอรอบถัดไป จะถอยกลับพฤติกรรมเดิมไว้ไม่ให้แย่ลง). ต้องเปิดค่า MEDIA_HLS_ENABLED ที่ฝั่งเซิร์ฟเวอร์ (klynx-api 4.123.0). อ้างอิงสัญญา media-stream-redis.md §3C (4.11.0)
ตัวเลขจำนวนเหตุการณ์ในกลุ่มหมุด (cluster) บนแผนที่ 3D Digital Twin ยังแสดงไม่ครบ/ครึ่งล่างโดนตัด แม้รอบก่อนจะขยาย font atlas buffer แล้ว. เจอต้นเหตุจริงแล้ว: ในมุมมองเอียง 3 มิติ ตัวเลข (billboard) กับวงกลมกลุ่มหมุด/อาคาร 3D อยู่ระดับความลึกเดียวกัน ทำให้บางส่วนของตัวเลขถูก depth buffer ของวัตถุอื่นบังตัดทิ้ง. แก้โดยให้ตัวเลขวาดทับเสมอ (depthTest ปิด) และล็อกให้หันเข้าหากล้องตลอด (billboard) — ตอนนี้แสดงเต็มทุกหลักทั้งใน 2D และ 3D (4.10.5)
เดิมบนมือถือ หน้า /live เลื่อนทั้งหน้าเป็นก้อนเดียว พอเลื่อนดูรายชื่อกล้อง แผนที่และวิดีโอที่กำลังดูอยู่ก็เลื่อนหายตามขึ้นไปด้วย. ตอนนี้แผนที่ถูกตรึงไว้ด้านบนเสมอ มีเฉพาะรายชื่อกล้องด้านล่างที่เลื่อนได้ พอแตะเลือกกล้องในรายการ แผนที่จะบินไปที่หมุดและเล่นวิดีโอให้ทันที โดยวิดีโอจะถูกตรึงไว้ด้วย ทำให้เลื่อนดูกล้องตัวอื่นต่อได้โดยภาพสตรีมไม่หายไปไหน (เลือกกล้องแล้วแผนที่จะย่อลงนิดหน่อยเพื่อเปิดพื้นที่ให้วิดีโอและรายการ)
แก้ UI หลายจุด: (1) โลโก้ PNG พื้นโปร่งใสเดิมมีเงา/กรอบในธีมสว่าง + ถูกครอบเป็นวงกลม — เอาออกให้กลืนพื้นหลัง. (2) ตั้งโลโก้เฉพาะธีมสว่างแล้วไปโผล่ธีมมืดด้วย — แก้ให้ธีมมืดใช้โลโก้ของธีมมืด/ค่าเริ่มต้นเท่านั้น (ไม่ดึงโลโก้สว่างมาใช้). (3) ตัวเลขกลุ่มหมุดบนแผนที่ 3D Digital Twin แสดงไม่ครบ/โดนตัด — ขยาย font atlas buffer. (4) การ์ดสรุปบนหน้า AI Intelligence แหว่ง 1 ช่อง (กริด 5 คอลัมน์ แต่มี 4 การ์ด) — ปรับเป็น 4 คอลัมน์ให้การ์ดยืดเต็มแถว (4.10.3)
เดิมการ์ดสรุปบนหน้า Ingest กดกรองได้แค่บางใบ (ใบหน้า/ป้ายทะเบียน). ตอนนี้กดได้ทุกใบ: หน้า Ingest → เหตุการณ์ กดการ์ด คนเข้า/คนออก (กรองตามทิศทาง), Blacklist/Whitelist (กรองตามรายการเฝ้าระวัง) และใบหน้า/ป้ายทะเบียน — กดซ้ำเพื่อยกเลิก ทำงานแยกอิสระต่อกัน. หน้า Ingest → แดชบอร์ดเหตุการณ์ กดการ์ดสรุปแล้วเด้งไปหน้ารายการเหตุการณ์พร้อมกรองให้อัตโนมัติ. ใช้ตัวกรอง direction/listType/eventType ของ /kapi/events ที่หลังบ้านรองรับอยู่แล้ว (4.10.1)
หน้า /live ตัดการ์ดที่ไม่จำเป็นออก (เช่น การ์ดสภาพอากาศ) เหลือเฉพาะการ์ดสถานะกล้อง และยังเปิด/ปิดแถบรายชื่อกล้องได้เหมือนเดิม ส่วนหัวแสดงเฉพาะจำนวนกล้องที่ออนไลน์ (ไม่โชว์ออฟไลน์แล้ว). แผนที่หน้า /live เปลี่ยนมาใช้ basemap แบบ WebGL เป็นค่าเริ่มต้น (สลับกลับเป็นแผนที่ภาพปกติได้) และเพิ่มปุ่มเปิด/ปิดการจัดกลุ่มหมุดกล้อง (cluster) บนแผนที่ โดยค่าเริ่มต้นของการจัดกลุ่มตั้งได้ที่ ตั้งค่า → สตรีม (ผู้ชมแต่ละคนยังสลับเองได้ ระบบจำค่าไว้ในเครื่อง) (4.10.0 + klynx-api 4.120.0)
เพิ่มช่อง "รายละเอียดแพลตฟอร์ม (ไทย/อังกฤษ)" ที่ ตั้งค่า → Branding เพื่อนำไปแสดงเป็นคำโปรยใต้ชื่อแพลตฟอร์มบนหน้าแรก (เว้นว่าง = ใช้ข้อความเริ่มต้น). เมนูธีม → สีหลัก เพิ่มตัวเลือก "ค่าเริ่มต้น (ตามระบบ)" ที่ดึงสีหลักจากการตั้งค่าแพลตฟอร์มมาใช้ และแก้อาการเลือกสีธีมแล้วไม่ติด (เดิมถูกสีแบรนด์ทับทุกครั้งที่โหลด — ตอนนี้สีที่ผู้ใช้เลือกเองจะอยู่เหนือค่าเริ่มต้น). ขยายขนาดอัปโหลดโลโก้จาก 2 MB เป็น 5 MB และไอคอนจาก 512 KB เป็น 1 MB เพื่อรองรับภาพความละเอียดสูงขึ้น. และปรับ favicon ให้ไม่มีไอคอนเริ่มต้นแบบฮาร์ดโค้ด — จะแสดงก็ต่อเมื่อมีการตั้ง favicon ในการตั้งค่าระบบเท่านั้น. หน้าแรก/หน้าสาธารณะดึงแบรนด์ที่ตั้งไว้มาแสดงได้เองโดยไม่ต้องตั้ง env เพิ่ม (4.10.0 + klynx-api 4.121.0)
เดิมผู้เข้าชมที่ยังไม่ได้ล็อกอินคลิกกล้อง AIBOX/ATA บนหน้า /live แล้วขึ้นกล่องแดง "สตรีมไม่พร้อมใช้งาน" เล่นไม่ได้เลย สาเหตุ: แผนที่สาธารณะตัดฟิลด์ wssFlvUrl ออกตามดีไซน์ (ผู้ไม่ล็อกอินไม่ได้รับ URL สตรีมตรง) แต่ตัวเลือกชนิดผู้เล่นกลับใช้ wssFlvUrl ตัดสินว่าเล่น FLV ได้หรือไม่ จึงบล็อกทุกกล้องสาธารณะทิ้ง ทั้งที่เส้นทางสาธารณะใช้การ negotiate ตั๋วด้วย camId (ไม่ต้องใช้ wssFlvUrl). แก้ให้ผู้ชมสาธารณะเล่น AIBOX/ATA ผ่าน FLV ได้ด้วยยี่ห้อกล้องอย่างเดียว แล้วให้ FlvPlayer โหมดสาธารณะ resolve URL เองด้วย camId (ตามสัญญา public-camera-stream-protection §5.1). กล้องที่ edge ไม่มีสัญญาณภาพจริงจะยังขึ้นจอดำตามปกติ (4.9.7)
ยุบเมนู "Edge AI" แยกออก แล้วย้ายหน้าเดิมทั้งหมด (รายงานสรุป, นับคน, Blacklist, แจ้งเตือนเหตุการณ์) ไปไว้ใต้เมนู "Ingest" เพื่อให้ทุกหน้าใช้ข้อมูลจาก pipeline เดียวกัน (event_refs) — เลิกใช้แหล่งข้อมูลเก่า (ata_events) สิทธิ์การเข้าถึงเดิมยังใช้ได้เหมือนเดิม ไม่ต้องตั้งใหม่ (4.8.1 + klynx-api 4.115.0)
เดิมเมื่อผู้ดูแลตั้งชื่อแพลตฟอร์มและโลโก้ที่ "ตั้งค่า → แพลตฟอร์ม" ค่าจะเปลี่ยนเฉพาะในระบบหลังเข้าสู่ระบบ ส่วนหน้าแรก (Landing), หน้าดูสดสาธารณะ (/live) และส่วนท้าย (footer) ยังคงโชว์ "Klynx" กับโลโก้เดิมแบบฮาร์ดโค้ด. ตอนนี้ทั้งหัวเว็บ ชื่อใหญ่บนหน้าแรก และ footer ดึงชื่อ/โลโก้ที่ตั้งไว้มาแสดงตามภาษา (ไทย/อังกฤษ) อัตโนมัติ — ผู้เข้าชมที่ยังไม่ได้ล็อกอินก็เห็นแบรนด์ที่ถูกต้อง (ผ่านช่องทางสาธารณะใหม่ klynx-api §5.5). พร้อมแก้ไอคอนรูปโล่ที่ footer ให้เป็นโลโก้จริง และทำลิงก์ Privacy/Terms/เอกสาร/Changelog ที่ footer ให้รองรับสองภาษา. และเปลี่ยนชื่อเริ่มต้น (เมื่อยังไม่ได้ตั้งค่า) จาก "Klynx" เป็นคำกลางๆ "IOC" ทุกจุด รวมถึง title/คำอธิบายเว็บ และ favicon เริ่มต้นเป็นไอคอน sparkles. เพิ่มช่อง "ข้อความ Footer (ไทย/อังกฤษ)" ในหน้า ตั้งค่า → Branding ของแพลตฟอร์ม ให้ตั้งบรรทัดลิขสิทธิ์/footer ของหน้าสาธารณะเองได้ (เว้นว่าง = ใช้ค่าเริ่มต้นเดิม). หมายเหตุผู้ดูแลระบบ: ตั้งค่า env PUBLIC_BRANDING_ORG_ID ให้ชี้องค์กรหลักของเครื่องเพื่อเปิดใช้ (4.8.0 + klynx-api 4.112.0)
หน้า Ingest → เหตุการณ์ และ แดชบอร์ดเหตุการณ์ เพิ่มแถบการ์ดสรุปด้านบน อิงช่วงวันที่ที่เลือก (วัน/สัปดาห์/เดือน): เหตุการณ์ทั้งหมด, คนเข้า, คนออก (นับคน), ใบหน้า, ป้ายทะเบียน, Blacklist, Whitelist — ดึงจากข้อมูลจริงของ pipeline ใหม่ (event_refs) ผ่าน /kapi/events/aggregate (สรุปทั้งช่วงเวลา ไม่ใช่แค่รายการที่โหลด) การ์ดเรืองแสงตามสีตัวชี้วัดแบบเดียวกับหน้า AI Intelligence (4.7.1 + klynx-api 4.111.0)
แก้อาการเหตุการณ์ AI ไม่ขึ้นหมุดบนแผนที่หน้า AI Intelligence — ระบบนำพิกัด (lat/lng) ของกล้องมาเติมให้เหตุการณ์อัตโนมัติเมื่อเหตุการณ์ไม่มีพิกัดมาเอง ทั้งแบบเรียลไทม์และย้อนหลัง (klynx-api 4.110.0)
หน้า Edge AI → รายงานสรุป (Summary Report) เปลี่ยนจากข้อมูลตัวอย่างเป็นข้อมูลจริงทั้งหน้า: การ์ดสรุปเหตุการณ์รวม/ใบหน้า/ยานพาหนะ/บัญชีดำ กราฟแนวโน้มรายวัน สัดส่วนประเภทเหตุการณ์ ยอดนับคนเข้า-ออกแยกตามโซน (ใหม่ — สูงสุด 10 โซน) สถานะกล้อง/ตัวควบคุม กราฟบัญชีดำรายชั่วโมง และตารางเหตุการณ์/บัญชีดำล่าสุด เลือกช่วงวันที่ได้และทุกส่วนอัปเดตตาม พร้อมปรับโทนสีการ์ดสถิติของหน้า Edge AI ทุกหน้า (นับคน/แจ้งเตือนเหตุการณ์/บัญชีดำ) ให้เป็นแบบเดียวกับหน้า AI Intelligence — การ์ดเรืองแสงตามสีตัวชี้วัด ไอคอนชิปสี ตัวเลข tabular (4.6.0 + klynx-api 4.108.0)
หน้าการตั้งค่า → การตั้งค่าระบบ เพิ่มส่วน "พื้นที่อันตราย" ให้ผู้ดูแลแพลตฟอร์มสั่งล้างข้อมูลทั้งเครื่อง (ผู้ใช้ สิทธิ์ กล้อง เหตุการณ์ การตั้งค่า) กลับสู่ค่าเริ่มต้นเหมือนติดตั้งใหม่ได้เอง — ใช้สำหรับเครื่องที่ติดตั้งในสถานที่ (appliance) เช่น ส่งคืนเครื่อง เปลี่ยนหน่วยงานผู้ใช้ หรือซ้อมแผนกู้คืนระบบ ขั้นตอนยืนยันเข้มงวดหลายชั้น: ระบบแสดงรายการสิ่งที่จะถูกลบ/เก็บไว้ก่อน ต้องพิมพ์ชื่อเครื่องให้ตรง ติ๊กรับทราบว่าข้อมูลจะหายถาวร กรอกรหัสผ่านยืนยันตัวตนซ้ำ และถ้าเครื่องตั้งค่าไว้ต้องมีผู้ดูแลคนที่สองร่วมอนุมัติด้วย ระหว่างล้างเครื่องเห็นความคืบหน้าทีละขั้นแบบสด เสร็จแล้วระบบพาออกจากระบบอัตโนมัติ — License ของเครื่องยังอยู่ ไม่ถูกลบ (4.5.1 + klynx-api 4.107.0) หมายเหตุ: หน้าการตั้งค่าทุกแท็บยังปรับให้แสดงผลเต็มความกว้างจอ ไม่บีบอยู่กลางจอแบบเดิม
ปรับระบบยืนยันเบราว์เซอร์ (Cloudflare Turnstile) ให้ยืนยันสำเร็จครั้งเดียวแล้วใช้ต่อได้ 10 นาที — เดิมต้องยืนยันใหม่ทุกครั้งที่กดดูกล้อง ทำให้สลับกล้องเร็ว ๆ แล้วเจอ "ยืนยันเบราว์เซอร์ไม่สำเร็จ" หรือจอดำทั้งที่ใช้งานปกติ ตอนนี้ไล่กดดูกล้องหลายตัวต่อเนื่องได้ลื่น ส่วนการป้องกันการนำสตรีมไปใช้ภายนอกยังเข้มเท่าเดิมทุกประการ และแก้ตัวกรองหน่วยงานบนแดชบอร์ดที่ใช้ไม่ได้เมื่อหน่วยงานมีกล้องหลายร้อยตัว (4.4.1 + klynx-api 4.106.0)
หน้าระบบอุปกรณ์ → Edge เพิ่มประเภทอุปกรณ์ใหม่ "NX Witness" — กรอกที่อยู่เซิร์ฟเวอร์ของระบบ NX พร้อมชื่อผู้ใช้/รหัสผ่าน แล้วกดซิงค์ ระบบจะดึงรายการกล้องทั้งหมดจาก NX เข้ามาใช้งานใน Klynx ให้อัตโนมัติ (ตั้งรอบซิงค์อัตโนมัติได้) กดซิงค์แล้วเห็นสรุปทันทีว่าพบกล้องกี่ตัว เพิ่มใหม่กี่ตัว — กล้องที่ซิงค์เข้ามาดูสด จัดสิทธิ์ และขึ้นแผนที่ได้เหมือนกล้องอื่นทุกอย่าง ถ้ารหัสผ่านของเซิร์ฟเวอร์ NX ไม่ถูกต้อง ระบบจะแจ้งให้ตรวจสอบบัญชีชัดเจน (4.4.0 + klynx-api 4.105.0)
แผนที่เหตุการณ์เรียลไทม์บนหน้า AI Intelligence ยกระดับเป็นแผนที่ดิจิทัลทวิน: กล้องมุมเอียงแบบ 3 มิติ มองเห็นอาคารยกตัวขึ้นจริงเมื่อซูมเข้าเมือง พร้อมท้องฟ้า/หมอกตามธีมมืด-สว่าง เหตุการณ์ใหม่ที่เพิ่งเกิด (ภายใน 10 วินาที) จะมีวงแหวนกระเพื่อมตามสีระดับความรุนแรง เปิดหน้าครั้งแรกกล้องจะบินเข้าหาพื้นที่เหตุการณ์แบบภาพยนตร์ และเมื่อพบเหตุบัญชีดำ กล้องจะดิ่งลงไปที่จุดเกิดเหตุก่อนเปิดรายละเอียดอัตโนมัติ — ปุ่มสลับ 2D/3D และปุ่มกลับไปใช้แผนที่แบบคลาสสิกอยู่มุมขวาบนของแผนที่ ถ้าเครื่องไม่รองรับ WebGL ระบบสลับกลับแผนที่แบบเดิมให้เองโดยไม่ต้องทำอะไร และเครื่องที่เปิดโหมด "ลดการเคลื่อนไหว" ระบบจะปิดอนิเมชันให้อัตโนมัติ (4.3.0)
ยกเครื่องหน้าแรกของแพลตฟอร์มใหม่ทั้งหน้า: เลื่อนหน้าจอแล้วภาพหน้าจอจริงของระบบ (แดชบอร์ดวิเคราะห์, วิดีโอวอลล์, แผนที่สด, เหตุการณ์ AI, มุมมองมือถือ) เคลื่อนไหวรับกับการเลื่อนแบบเว็บเปิดตัวสินค้าชั้นนำ พร้อมเนื้อหาแนะนำความสามารถปัจจุบันของระบบครบ (เหตุการณ์ AI จาก Edge AI, แชร์ลิงก์ดูสดสาธารณะ, สิทธิ์ละเอียดรายหน่วยงาน/รายคน) — ผู้ใช้ที่เปิดโหมด "ลดการเคลื่อนไหว" ในเครื่อง ระบบจะปิดอนิเมชันให้อัตโนมัติ. หน้าเอกสารเพิ่มคู่มือใหม่ 2 เล่ม — "คู่มือผู้ใช้" และ "คู่มือผู้ดูแลระบบ" — อ่านได้โดยไม่ต้องเข้าสู่ระบบ และเลขเวอร์ชันระบบเริ่มนับยุคใหม่เป็น 4.0.0 (4.0.0)
หน้าโปรไฟล์เพิ่มส่วน "รูปใบหน้า" (แยกจากรูปประจำตัว) — อัปโหลดไฟล์รูป หรือถ่ายเซลฟี่จากกล้องของเครื่องได้เลย (รองรับมือถือ ภาพพรีวิวกลับด้านเหมือนกระจก) ต้องติ๊กยินยอมก่อนบันทึก ลบรูปได้ตลอด ระบบเก็บรูปล่าสุดรูปเดียว — เป็นขั้นแรกของระบบยืนยันตัวตนด้วยใบหน้าในเฟสถัดไป (3.118.0 + klynx-api 4.103.0)
หน้าแดชบอร์ด /biDash เดิมต้องมีสิทธิ์เมนู "แผนที่" (map) ถึงจะเข้าได้ ทำให้สมาชิกที่มีสิทธิ์กล้องอยู่แล้วแต่ไม่ได้เปิดเมนูนี้ กดเข้า biDash แล้วขึ้น 403 (เข้าไม่ได้). ตอนนี้ biDash เปิดให้สมาชิกทุกคนในองค์กรเข้าได้เป็นค่าเริ่มต้น โดยแผนที่แสดง "เฉพาะกล้องที่ผู้ใช้คนนั้นมีสิทธิ์" (ผู้ดูแลองค์กรเห็นกล้องทั้งองค์กรที่เลือกอยู่) — คำนวณจากสิทธิ์ของผู้ใช้เอง ไม่หลุดไปเห็นของคนอื่น. และแก้อาการหน้าค้าง/เด้ง error เมื่อผู้ใช้ที่ไม่มีสิทธิ์ระบบควบคุม (kcontrol) เปิด biDash — ระบบจะไม่เชื่อมต่อช่องข้อมูลเรียลไทม์ที่ผู้ใช้ไม่มีสิทธิ์ (วิดเจ็ตที่ไม่มีสิทธิ์จะว่างแทนที่จะ error). เพิ่มเติม 3.117.1: ยอดนับสถานะกล้องในวิดเจ็ตแสดง "ตามสิทธิ์ของผู้ใช้" (ดึงจาก /map/camera ที่ scope แล้ว) ไม่ใช่ยอดทั้งองค์กร, ปิดการเด้งแจ้งเตือน "ไม่มีสิทธิ์รับข้อมูลเรียลไทม์" (degrade เงียบ ๆ), และแก้อาการ 403 เต็มจอที่ยังตกค้างตอนโหลดตัวกรองหน่วยงานสำหรับสมาชิก. 3.117.2: เลือกหน่วยงาน + กลุ่มกล้องพร้อมกัน ตอนนี้กรองเป็น "ส่วนที่ซ้อนกัน" (กล้องในกลุ่มที่หน่วยงานนั้นมีสิทธิ์) ถูกต้อง. 3.117.3: แก้ตัวกรองหน่วยงานแสดงเป็นรหัส UUID แทนชื่อ หลังเลือกหน่วยงานแม่แล้วเลือกกลุ่มกล้อง. 3.117.4: วิดีโอวอลล์เปิดกล้องสาธารณะได้แล้ว (เล่นผ่านเส้นทางสตรีมสาธารณะ), ตั้งค่าเริ่มต้นตัวกรองเป็น "กล้องในความดูแล" ทั้งวิดีโอวอลล์/แดชบอร์ด, แดชบอร์ดวิเคราะห์เริ่มที่กล้องในความดูแล + ไม่เด้งแจ้งเตือน realtime, และคลิกกล้องในหน้าข้อมูลกล้องไม่ขึ้น 403 เต็มจอแล้ว. 3.117.5: วิดีโอวอลล์เปิดกล้องสาธารณะผ่านเส้นทาง authenticated (BE 4.102.5) — ไม่ต้องผ่าน Turnstile, แก้ 403 BOT_CHALLENGE_FAILED. 3.117.6: ปุ่มปิด popup กล้องในหน้าแผนที่ย้ายไปมุมขวาบนนอกกรอบวิดีโอ ไม่ทับปุ่มเต็มจอ. 3.117.7: ปิด toast realtime ที่หน้าวิดีโอวอลล์/ข้อมูลกล้อง (degrade เงียบ) + รายการกล้องในวิดีโอวอลล์ทำ infinite scroll (render ทีละชุดตอนเลื่อน) (3.117.1–3.117.7 + klynx-api 4.102.5)
หน้า /videowall เพิ่มตัวกรอง "สถานะ" (ทุกสถานะ / ออนไลน์ / ออฟไลน์) วางข้างตัวกรอง "ในความดูแล/สาธารณะ" และกลุ่มกล้องที่มีอยู่เดิม — เดิมผนังจอแสดงเฉพาะกล้องออนไลน์ (กล้องที่เล่นสตรีมได้) เท่านั้น ตอนนี้เลือกดูกล้องออฟไลน์หรือทุกสถานะได้ ค่าเริ่มต้นยังเป็น "ออนไลน์" เพื่อให้ผนังจอเล่นได้ทันทีเหมือนเดิม (ตัวกรองในความดูแล/สาธารณะมีอยู่แล้ว) (3.115.0)
หน้าแผนที่กล้องสาธารณะ /live เพิ่มการตรวจสอบอัตโนมัติว่าผู้ที่ขอเปิดสตรีมเป็น "คนที่ใช้เบราว์เซอร์จริง" ไม่ใช่โปรแกรม/สคริปต์ที่แอบดึงภาพไปใช้ต่อ การตรวจสอบทำงานเบื้องหลังแบบมองไม่เห็น ผู้ชมทั่วไปไม่ต้องกดอะไรเพิ่มและไม่ต้องล็อกอิน กดดูสดได้ตามปกติ ถ้าระบบยืนยันเบราว์เซอร์ไม่ผ่าน (เช่นปิดจาวาสคริปต์ หรือสัญญาณตรวจสอบสะดุด) จะขึ้นข้อความให้กด "เล่นอีกครั้ง" — เป็นการเสริมความปลอดภัยเพื่อกันการนำภาพกล้องสาธารณะไปใช้โดยไม่ได้รับอนุญาต ผู้ดูแลระบบเปิด/ปิดฟีเจอร์นี้ได้ (3.114.0 + klynx-api 4.102.0)
เพิ่มกลุ่มเมนู "New Watchman" ในแถบเมนูด้านซ้าย แยกเป็น 6 หมวด (ภาพรวม, งานสืบสวน, งานป้องกันปราบปราม, งานจราจร·สอบสวน, ข้อมูลอื่น, ระบบ) รวม 28 หน้า ผู้ดูแลองค์กรกำหนดสิทธิ์ให้เห็นได้ทีละหน้า — หน้าไหนยังไม่ได้รับสิทธิ์จะไม่ขึ้นในเมนู เมื่อกดเมนูจะพาไปยังระบบ Watchman ตัวใหม่โดยตรง (เปิดเต็มหน้า ไม่ใช่กรอบฝัง). หมายเหตุ: การเปิดเมนูเป็นแค่การ "ให้เห็นลิงก์" — ระบบ Watchman ยังตรวจสิทธิ์เข้าใช้งานจริงของตัวเองอีกชั้น (3.113.0 + klynx-api 4.101.0)
หน้าแผนที่กล้องสาธารณะ /live แสดงลายน้ำ (watermark) และโลโก้องค์กรทับบนภาพสด ตามที่ผู้ดูแลตั้งค่าไว้ในหน้าตั้งค่าสตรีม แม้ผู้ชมจะไม่ได้ล็อกอินก็เห็นลายน้ำเหมือนกับตอนล็อกอิน (ทั้งตัวเล่นด้านข้างและป๊อปอัพบนแผนที่) ช่วยกันการนำภาพไปใช้ต่อโดยไม่ได้รับอนุญาต. นอกจากนี้เพิ่มปุ่ม "เต็มจอ" ของระบบเองบนตัวเล่นวิดีโอทุกหน้า (/live, /videowall, /biDash) เพื่อให้ลายน้ำยังคงแสดงตอนดูแบบเต็มจอ — เดิมพอกดเต็มจอด้วยปุ่มของเบราว์เซอร์ ลายน้ำจะหายไป. ถ้าองค์กรปิดลายน้ำหรือยังไม่ได้ตั้งค่า ภาพก็เล่นได้ตามปกติโดยไม่มีลายน้ำ. พร้อมกันนี้ได้ตัดการเรียกเก็บสถิติเบื้องหลังที่ไม่จำเป็นออกจากผู้ชมที่ไม่ได้ล็อกอิน (3.111.0 + klynx-api 4.97.0)
หน้าจัดการกล้อง (/systemDevices/cameras) เพิ่มปุ่ม "เปิด AI" ในแผงรายละเอียดกล้อง — พิมพ์สิ่งที่อยากให้ AI ตรวจจับเป็นข้อความ (เช่น "fire burning in tank") แล้วระบบจะส่งภาพจากกล้องตัวนั้นไปให้บริการ AI วิเคราะห์ต่อเนื่อง พบเหตุเมื่อไรจะมีป้าย "พบเหตุ" ขึ้นที่กล้อง และดูประวัติเหตุการณ์ทั้งหมดได้ที่หน้าใหม่ "เหตุการณ์ AI" (/systemDevices/cameras/ai-events) ค้นหา/กรองตามกล้องและช่วงเวลาได้ กล้อง RTSP ทั่วไปและกล้อง AIBOX ใช้ได้ทั้งคู่ ปุ่มและหน้านี้จะเห็นเฉพาะองค์กรที่ได้รับสิทธิ์ "Enable Fire AI" / "AI Events" เท่านั้น (3.110.0 + klynx-api 4.96.0)
หน้าจัดการกล้อง (/systemDevices/cameras) เพิ่มช่องติ๊กเลือกหน้าแถว + ติ๊กเลือกทั้งหน้า (สูงสุด 50 ตัวต่อครั้ง) จากเดิมทำได้ทีละตัว ตอนนี้เลือกหลายตัวแล้วสั่งพร้อมกันได้: "แจ้งซ่อม/เลิกซ่อม" (ใส่เหตุผลเดียวใช้ทั้งชุด), "Sync" สั่งเช็คสถานะ, และ "ลบ". ระบบสรุปผลให้ว่าสำเร็จกี่ตัว/ข้ามกี่ตัว/ล้มเหลวกี่ตัว พร้อมเหตุผลรายตัว — กล้องที่จัดการโดยระบบ gateway (AIBOX) จะถูกข้ามตอนลบและให้ไปลบที่ระบบ gateway แทน ไม่ลบผิดที่ (3.109.0 + klynx-api v1.8)
เพิ่มปุ่ม "แจ้งซ่อม / ปิดซ่อม" ในหน้าจัดการกล้อง (/systemDevices/cameras) — กดเพื่อทำเครื่องหมายว่ากล้องตัวนี้ปิดซ่อมตั้งใจ (เปลี่ยนเลนส์ / ดึงสายใหม่ / ย้ายจุดติดตั้ง) พร้อมระบุเหตุผลได้ จากเดิมกล้องที่ปิดซ่อมจะขึ้น offline สีแดงปนกับกล้องที่เสียจริง แยกไม่ออกทั้งในรายการ แผนที่ และยอดนับ ตอนนี้กล้องที่อยู่ในโหมดซ่อมจะขึ้นป้าย "ซ่อมบำรุง" สีม่วงคราม + หมุดสีเหลืองอำพันบนแผนที่แทนสีแดง และมีตัวกรอง "ซ่อมบำรุง" ให้ดูเฉพาะกล้องที่กำลังซ่อมได้ ระบบยังคงตรวจสถานะจริงเบื้องหลังตลอด พอปิดโหมดซ่อมก็กลับไปแสดงสถานะจริงทันที (3.108.0 + klynx-api 4.93.0)
หน้าแผนที่กล้องสาธารณะ /live ดูสดได้ลื่นขึ้นแม้ไม่ได้ล็อกอิน (รวมกล้อง AIBOX) โดยระบบขอสิทธิ์เปิดสตรีมผ่านเซิร์ฟเวอร์ของเราเองทุกครั้ง ไม่เปิดช่องให้ดึงลิงก์สตรีมไปเล่นนอกระบบหรือเอาไปฝัง (iframe) บนเว็บอื่น. ถ้ามีการกดเปิดถี่เกินไป ระบบจะขอให้พักสักครู่แล้วกด "เล่นอีกครั้ง" เอง (ไม่ต่อใหม่อัตโนมัติ). เป็นการเสริมความปลอดภัยเบื้องหลัง ผู้ใช้ทั่วไปใช้งานได้เหมือนเดิม (3.107.0 + klynx-api 4.92.0)
แก้อาการสตรีมในป๊อปอัพกล้องบนหน้าแดชบอร์ด /biDash หลุดแล้วเชื่อมต่อใหม่วนซ้ำทุกไม่กี่วินาทีเมื่อมีเหตุการณ์/สถานะกล้องเข้ามาเรียลไทม์: ระหว่างเปิดดูสดอยู่ ระบบจะพักการรีเฟรชหมุดบนแผนที่ไว้ก่อน แล้วค่อยอัปเดตเมื่อปิดป๊อปอัพ ภาพจึงไม่ดับกลางคัน และลดอาการ "กดดูแล้วรอนาน" เพราะสตรีมไม่ถูกตัดทิ้งให้ต้องดึงใหม่. ส่วนหน้าแก้ไขกล้อง: ระหว่างกดทดสอบสตรีมอยู่ การแก้ช่อง "ยี่ห้อ (brand)" จะไม่ทำให้ตัวเล่นถูกสร้างใหม่จนภาพดับอีกต่อไป (3.106.0)
แท็บเลือกอุปกรณ์ใน /systemUsers/permissions/resource ใช้ checkbox “รวมกลุ่มย่อย” ชัดเจนเหมือนฝั่งหน่วยงาน/สมาชิก: ไม่ติ๊กจะนับเฉพาะกลุ่มทรัพยากรที่เลือกตรง ติ๊กแล้วจึงครอบคลุมกลุ่มย่อยและตัดออกทั้งกลุ่มได้ เพิ่มโหมดอุปกรณ์ ทั้งหมด/เลือกเฉพาะ/ตัดเฉพาะ พร้อม badge ระบุเจาะจง/ตัดออกบนแถว RG และปรับยอดสรุปให้ตรงกับการเลือกสมาชิกหรืออุปกรณ์ตรง ๆ (3.104.0)
หน้า /biDash เพิ่มตัวกรองหน่วยงาน (OU) ทำงานคู่กับตัวกรองกลุ่มกล้อง: เลือกกลุ่มกล้องก่อนแล้วระบบช่วยแนะนำ OU ที่เกี่ยวข้อง หรือเลือก OU ก่อนแล้วระบบช่วยแนะนำกลุ่มกล้องที่ผูกไว้ พร้อมคงขอบเขตสิทธิ์เดิมของผู้ใช้ (3.103.0)
หน้า Resource Permission แท็บเลือกอุปกรณ์เพิ่มปุ่ม “ตัดออกทั้งกลุ่มทรัพยากร” ในจุดที่กลุ่มลูกถูกครอบคลุม, ปรับปุ่มตัดอุปกรณ์/ตัดกลุ่มให้ขนาดเท่ากัน และเปลี่ยน badge จำนวนอุปกรณ์เป็น icon เครือข่าย (3.102.0)
หน้า Resource Permission เปิดเข้า editor/tree ทันทีโดยเลือก profile ที่สร้างไว้ก่อนให้ก่อน ไม่ต้องผ่านตารางสรุปแล้ว ส่วนหน้า Menu Permission มี “สรุปการเลือก” ที่รวมหน่วยงานแม่ และเพิ่มโหมดสมาชิก ทั้งหมด/เลือกเฉพาะ/ตัดเฉพาะ พร้อมปุ่มตัดหน่วยงานแม่ทั้งหมด (3.101.0 + klynx-api 4.84.0)
พรีวิวหน้าจัดการสิทธิ์โฉมใหม่ทั้งสามหน้า (เมนู, API Integrations, ทรัพยากร) — มีการ์ดสรุปยอด คน/กลุ่มทรัพยากร/อุปกรณ์/ความขัดแย้ง อยู่ด้านบน, ผังองค์กรแบบกดทีละหน่วยงานเพื่อ "ให้สิทธิ์ / ยกเว้น / สืบทอดจากหน่วยงานแม่ / ไม่กำหนด" และคลิกหน่วยงานเพื่อตั้งสิทธิ์รายคน (include / inherit / exclude) ได้ในป๊อปอัพเดียว. ตัวเลขยอดสุทธิดึงจากระบบหลังบ้านโดยตรง (ไม่คำนวณเองฝั่งหน้าจอ) จึงตรงกับสิทธิ์จริง พร้อม breakdown กล้อง/K-Control/Edge. ยังเป็นรุ่นทดสอบ — เปิดให้เห็นเฉพาะผู้ดูแลระบบเมื่อเปิด debug flag เท่านั้น หน้าจัดการสิทธิ์เดิมยังใช้งานปกติ (3.97.0 + klynx-api 4.79.0)
หน้าจัดการสิทธิ์ทรัพยากร (Resource permission): เปิดโปรไฟล์ขึ้นมาแล้วระบบแสดงสิ่งที่เลือกไว้ได้ถูกต้องครบทันที — สรุปการเลือก (หน่วยงาน/กลุ่มทรัพยากร/อุปกรณ์) ตรงกับที่บันทึกจริง และในผังหน่วยงานจะมีตัวเลขกำกับบอกว่า "มีรายการที่เลือกอยู่ข้างในกี่รายการ" แม้ยังไม่กางดู ทำให้เห็นภาพรวมได้เร็วโดยไม่ต้องไล่เปิดทีละชั้น. ส่วนหน้ากลุ่มอุปกรณ์ (Resource Groups) มีแถบสรุปภาพรวมว่ามีกล้อง / K-Control / Edge อยู่ในกลุ่มกี่ตัว และยังไม่ได้จัดเข้ากลุ่มกี่ตัว (3.96.0–3.96.1)
กล้อง AIBOX (กล้อง AI ที่เชื่อมจากระบบ Gateway) ดูภาพสดได้แล้วทั้งหน้าแก้ไขกล้อง (ปุ่ม "ทดสอบสตรีม") และหน้าดูสด/แผนที่/แดชบอร์ด เมื่อกล้องออนไลน์ — เดิมกดทดสอบสตรีมแล้วเงียบไม่มีอะไรเกิดขึ้น และปุ่ม "Sync" รายแถวในหน้าจัดการกล้องกลับมาใช้กับกล้อง AIBOX ได้แล้ว กดเพื่อสั่งให้ระบบเช็คสถานะออนไลน์/ออฟไลน์ของกล้องตัวนั้นทันทีไม่ต้องรอรอบปกติ (ไม่เกิน ~30 วินาที) ถ้ากล้องยังไม่ได้ผูกกับ edge ระบบจะบอกว่า "edge ยังไม่ลงทะเบียน" ให้ไปตั้งค่าก่อน แทนการขึ้น error งง ๆ (3.95.0)
หน้า /intDash ตอนนี้รับเหตุการณ์ AI ใหม่แล้วอัปเดตตัวเลขรวม, กราฟ, และรายการล่าสุดทันทีโดยไม่ต้องดึงข้อมูลทั้งหมดมาใหม่ ระบบจึงเบาขึ้นทั้งฝั่งหน้าจอและฝั่งหลังบ้านแม้มีเหตุการณ์ถี่ — และเมื่อมีเหตุการณ์ประเภท Blacklist เข้ามา แผนที่จะซูม-เลื่อนไปยังตำแหน่งกล้องพร้อมเปิดป๊อปอัพแสดงคลิป/รูปที่กล้อง AI จับได้ทันที (กรอบเหลี่ยมส้มบนใบหน้า/วัตถุยังอยู่) ผู้ดูแลตรวจสอบเหตุการณ์สำคัญได้เร็วโดยไม่ต้องคลิกหาทีละจุดเอง (3.93.0)
หน้า v2 ใช้ตัวเลขใหญ่จาก /preview เป็น unique access จริง: คนเข้าถึงได้และอุปกรณ์เข้าถึงได้. บรรทัดย่อยจะแสดงจำนวนที่เลือกทั้งหมด, ยกเว้น, และซ้ำ เช่นเลือกทั้ง RG และ device ตัวเดียวกันจะเห็นว่าเลือก 2 ทางแต่ unique device เหลือ 1 พร้อม breakdown camera / kcontrol / edge. Production route ยังไม่ถูกสลับ รอ UAT ยืนยันก่อน. (3.92.3 + klynx-api 4.72.0)
หน้า ระบบควบคุม → K-Control: ป้าย "แจ้งเตือน" สีแดงในตารางคลิกได้ — กดแล้วเปิดหน้าต่างเดียวกับที่ใช้ในแผนที่ K-Control เพื่อบันทึกการรับทราบเหตุการณ์ทันทีโดยไม่ต้องสลับไปหน้าแผนที่ พร้อมแก้ไอคอนไฟกระพริบที่บางครั้งไม่ขึ้นในหน้าแผนที่ K-Control ทำให้พลาดเหตุการณ์สำคัญ (3.90.0)
ผู้ดูแลกำหนดเวลาสูงสุดของการดูสตรีมต่อครั้งได้ในหน้า ตั้งค่า → Stream Sessions (เช่น 30 / 60 / 600 วินาที) — เมื่อครบเวลา ระบบจะตัดสตรีมและคืน <video> ให้เบราว์เซอร์อัตโนมัติทั้งหน้า Live (popup แผนที่ + แถบข้าง) และ Dashboard popup กล้อง ทันที พร้อมส่งบันทึก analytics แยกเหตุการณ์ "ครบเวลา (sessionTimeout)" ออกจาก "ผู้ใช้ปิดเอง (user)" ให้ทีมรายงานวิเคราะห์ได้แม่นยำขึ้น — ถ้าผู้ดูแลไม่เปิดสวิตช์ ทุกอย่างยังดูได้ไม่จำกัดเหมือนเดิม (3.80.0)
เริ่มเปิดทาง player WebRTC ตัวใหม่ที่ทีมเขียนเอง เตรียมแทนของเดิมที่อิงไลบรารีภายนอก ใช้กับทุกหน้าที่ดู live (Live / VideoWall / biDash / map / floor plan) — เริ่มต้นยังปิดอยู่ ผู้ดูแลระบบจะเปิดให้เป็นครั้งคราวเพื่อทดสอบบน dev/UAT ก่อนแล้วค่อยเปิดบน production ทีหลัง ระหว่างนี้ระบบเริ่มเก็บค่าวัดผลการเล่น (เวลาเริ่มเล่นจริง, bitrate, fps, jitter) ส่งไปวิเคราะห์ เพื่อสรุปคุณภาพสตรีมในระดับองค์กรได้ในรุ่นถัดไป (3.79.0)
รุ่นนี้ "เปิดสวิตช์" ให้โลโก้และลายน้ำที่แอดมินตั้งไว้ในหน้า ตั้งค่า → Stream Sessions แสดงผลทับวิดีโอจริงๆ บนทุกหน้าที่ดูสด — VideoWall (ทุกช่อง), Live (preview ในแถบข้าง + popup เมื่อย่อแถบข้าง + popup บนแผนที่), Dashboard popup กล้อง — ตามค่า Apply-to ที่เลือกไว้ โหมด "สุ่ม" (anti-tamper) เปลี่ยนตำแหน่งและมุมเอียงของลายน้ำตามรอบที่ตั้งไว้ (1-60 วินาที); ถ้าปิดสวิตช์โลโก้/ลายน้ำหรือยกเลิก Apply-to ของหน้าใดหน้านึง โอเวอร์เลย์จะหายทันที (3.78.0)
เปลี่ยนช่องทางดู FLV ของกล้อง ATA / AIBOX มาผ่านระบบ klynx-api แทนต่อตรงไป edgeAI — ระบบจะขอ ticket แบบใช้ครั้งเดียวก่อนเปิดสตรีม โทเค็นของ edgeAI ไม่หลุดมาฝั่งผู้ใช้อีกแล้ว ใช้กับ /live, /biDash, /videowall, /map, และหน้าแก้ไขกล้อง
เปิดเมนูใหม่ /intDash สำหรับดูเหตุการณ์ AI / Edge AI แบบ realtime แยกออกจากหน้า Dashboard เดิม (ที่เน้น Livestream) — เฟส 2 ตามแผน K-LYNX Dashboard Evolution พร้อมโครงหน้าและสีตามระดับความรุนแรง (สูง/กลาง/ต่ำ/ข้อมูล) วิดเจ็ตจริง (KPI / แผนที่ AI / feed / สถิติด้านล่าง) ทยอย ship เป็น chore B-2 / B-3 / B-4 — ตอนนี้เป็นเฟส beta โหมดเปิดให้ผู้ดูแลสิทธิ์ลองเปิดได้ที่หน้า "ระบบผู้ใช้ → สิทธิ์ → จัดการเมนู"
หน้า /ksearch/chats เปลี่ยนเป็น workspace สืบค้นเหตุการณ์จากกล้องด้วย AI พร้อม cards, timeline และ map context
หน้า Dashboard / K-Control / VideoWall / รายการกล้อง / รายการ kcontrol / Map / mapif รับสถานะออนไลน์-ออฟไลน์และเหตุการณ์ใหม่ทันที โดยไม่ต้องกด refresh — ระบบเชื่อมต่อแบบใหม่ที่ปลอดภัยขึ้นและไม่หลุดสิทธิ์ข้ามองค์กร
ดูอุณหภูมิย้อนหลังต่ออุปกรณ์ พร้อมกราฟ + ตั้งเกณฑ์เตือนได้ที่หน้า /kcontrol/temperature
เลือกได้ว่าจะให้ใครในหน่วยงานเห็นกล้อง / kcontrol ตัวไหนบ้าง โดยไม่ต้องสร้างกลุ่มสิทธิ์ใหม่ทุกคน
แต่ละกลุ่มอุปกรณ์ตั้งไอคอนของตัวเองได้ — แยกสีตอนออนไลน์ / ออฟไลน์ ดูแผนที่แล้วเข้าใจสถานะทันที
จำกัดได้ว่าใครเห็น Edge ตัวไหนบ้าง (ATA / SVMS / iboc) — เหมือนระบบสิทธิ์กล้องที่มีอยู่แล้ว
ของเดิม export ได้แค่หน้าปัจจุบัน ตอนนี้ดึงครบทั้งองค์กร พร้อมใช้งานทันที
หยุดใช้งาน Profile ชั่วคราวได้โดยไม่ต้องลบ — ค่า OU / Member ที่ตั้งไว้คงเดิม
ผู้ใช้ที่ไม่มีสิทธิ์ดูกล้อง จะเปิดสตรีมไม่ได้แล้ว แม้รู้รหัสกล้อง — เดิมเช็คแค่ระดับองค์กร
รายละเอียดการเปลี่ยนแปลงทั้งหมด
รายละเอียดการรองรับและความสามารถ
ฟีเจอร์ที่กำลังจะมาถึง