1 คะแนน โดย GN⁺ 2025-03-02 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • สร้างวิดีโอวอลล์ที่แปลกไม่เหมือนใครที่สุดในโลก

    • โปรเจ็กต์นี้เล่าเรื่องกระบวนการสร้างวิดีโอวอลล์โดยนำ Chromebook เก่ากลับมาใช้ใหม่
    • โปรเจ็กต์นี้เป็นความร่วมมือระหว่างผู้เขียนที่ดูแลซอฟต์แวร์ กับเพื่อนชื่อ Aksel Salmi ที่ออกแบบฮาร์ดแวร์
    • จุดเริ่มต้นมาจากไอเดียที่จะนำ Chromebook ของโรงเรียนที่กำลังจะถูกทิ้งมาทำเป็นวิดีโอวอลล์
  • แนะนำ Lenovo ThinkPad 11e

    • Lenovo ThinkPad 11e เป็นโน้ตบุ๊กสำหรับโรงเรียนที่มีประสิทธิภาพต่ำ แต่เป็นอุปกรณ์ที่ช่วยจุดประกายความสนใจด้านคอมพิวเตอร์ของผู้เขียนตั้งแต่วัยเด็ก
    • ปัจจุบันเครื่องรุ่นนี้ไม่ได้รับอัปเดตซอฟต์แวร์แล้ว และมีปัญหาแม้แต่การโหลดหน้าเว็บ ทำให้กลายเป็นอุปกรณ์ที่ถูกคัดออกเพื่อทิ้ง
  • วิดีโอวอลล์คืออะไร?

    • วิดีโอวอลล์คือการนำหลายหน้าจอมาประกอบกันให้กลายเป็นจอแสดงผลขนาดใหญ่เพียงจอเดียว
    • ในโปรเจ็กต์นี้จึงตัดสินใจนำหน้าจอโน้ตบุ๊กกลับมาใช้ใหม่เพื่อสร้างวิดีโอวอลล์
  • จะขับหน้าจอด้วยฮาร์ดแวร์แยกต่างหากได้ไหม?

    • ตอนแรกตั้งใจจะใช้เฉพาะพาเนลจอแสดงผลของโน้ตบุ๊ก แล้วให้คอมพิวเตอร์ที่แรงกว่ามาขับ แต่สุดท้ายต้องล้มเลิกเพราะข้อจำกัดด้านเวลาและค่าใช้จ่าย
  • ความพยายามซิงก์วิดีโอระหว่างอุปกรณ์สองเครื่อง

    • หลังจากมองว่าการให้แต่ละหน้าจอทำงานแยกกันน่าจะดีกว่า จึงหันไปโฟกัสที่ปัญหาการซิงก์วิดีโอระหว่างคอมพิวเตอร์หลายเครื่อง
    • เคยลองใช้ฟีเจอร์สตรีมมิงของ VLC แต่ไม่เหมาะกับการซิงก์ให้ตรงกันแบบสมบูรณ์
  • การซิงก์ด้วย Socket.io

    • พบวิธีใช้ Socket.io เพื่อซิงก์การเล่นวิดีโอบนหน้าเว็บ
    • เมื่อวิดีโอเล่นจบ ไคลเอนต์แต่ละตัวจะส่งอีเวนต์เริ่มต้นเพื่อรักษาการซิงก์เอาไว้
  • แทนที่ ChromeOS

    • เนื่องจากปัญหาด้านซอฟต์แวร์ของ Chromebook จึงตัดสินใจเปลี่ยนจาก ChromeOS ไปใช้ Linux
    • ใช้ coreboot เพื่อเขียนทับเฟิร์มแวร์เดิม และเขียนสคริปต์ให้เล่นวิดีโอโดยอัตโนมัติ
  • ขั้นตอนสุดท้าย

    • Aksel รับหน้าที่ติดตั้งฮาร์ดแวร์ ส่วนผู้เขียนปรับปรุงวิธีบูตเข้าสู่หน้าเว็บ
    • ตั้งค่าให้ Porteus Kiosk เปิดเบราว์เซอร์ Chromium โดยอัตโนมัติ
  • การสร้างดิสทริบิวชันของตัวเอง

    • สร้าง USB ติดตั้งอัตโนมัติด้วยการติดตั้งแบบมินิมอลที่อิงจาก Debian
    • สร้างคอนโทรลเลอร์สำหรับจัดการไคลเอนต์ c-sync และกำหนดวิดีโอให้แต่ละเครื่อง
  • การติดตั้งและการปรับแต่งขั้นสุดท้าย

    • ใช้ฮาร์ดแวร์ยึดติดตั้งที่ Aksel ออกแบบเพื่อติดโน้ตบุ๊กเข้ากับผนัง
    • แก้ปัญหาความร้อนด้วยการตั้งความเร็วพัดลมแบบแมนนวล
  • ความหมายของโปรเจ็กต์นี้

    • โปรเจ็กต์นี้เป็นตัวอย่างที่แสดงให้เห็นถึงความสำคัญของการทำงานเป็นทีมและความร่วมมือ อีกทั้งยังเป็นตัวอย่างของการนำ E-Waste มาใช้ให้เกิดประโยชน์
    • โปรเจ็กต์นี้ส่งอิทธิพลอย่างมากต่อประสบการณ์ช่วงมัธยมปลายของผู้เขียน และเกิดขึ้นได้ด้วยความช่วยเหลือจากผู้คนมากมาย

1 ความคิดเห็น

 
GN⁺ 2025-03-02
ความคิดเห็นจาก Hacker News
  • ขอแสดงความยินดีกับการทำโปรเจ็กต์สนุก ๆ นี้จนสำเร็จ ฉันทำงานเกี่ยวกับการซิงก์มีเดียคอนเทนต์ข้ามหลายอุปกรณ์บ่อยมาก เลยสนุกเสมอที่ได้เห็นว่าคนอื่นคิดโซลูชันแบบไหนออกมา ระหว่างการค้นคว้าน่าจะได้เจอกับ BrightSign media player มาบ้าง ต้นทุนรวมในการซื้อจอ 20 จออาจสูงถึงหลายหมื่นดอลลาร์ ขอชื่นชมมากที่ทำสิ่งนี้ได้ด้วยอุปกรณ์รีไซเคิล

    • ถ้าสนใจทำงานกับโค้ดเบสด้าน media synchronization ก็ติดต่อมาได้เลย เราจ้างนักพัฒนาแบบสัญญา freelance อยู่บ่อย ๆ
  • ตอนที่ Chromebook เปิดตัว ฉันทำงานอยู่ที่ Google ฉันเคยเสนอไอเดียสำหรับการตกแต่งล็อบบี้ แต่โดนปฏิเสธไป น่าจะเพราะฉันขออุปกรณ์ 40-64 เครื่อง

    • ฉันคงไม่ได้พยายามซิงก์วิดีโอ แต่จะทำแอนิเมชันที่อิงเวลาแทน แล้วใช้เครือข่ายซิงก์นาฬิกา
    • ดูตัวอย่างได้ที่นี่: [ลิงก์ YouTube]
    • มีอุปกรณ์ 8 เครื่องที่รัน Chrome สิ่งที่ซิงก์กันมีแค่การตั้งค่าและเวลา
    • อุปกรณ์ไม่จำเป็นต้องจัดเป็นตารางเสมอไป ได้แรงบันดาลใจมาจากพิพิธภัณฑ์วิทยาศาสตร์บอสตันส่วนตู้ปลาเสมือนจริง
  • เจ๋งมาก! ฉันเคยทำอะไรคล้าย ๆ กันด้วยแท็บเล็ต 4x4 หลังจากเชื่อมต่อ 16 เครื่องเข้ากับ ADB และโฮสต์ตัวเดียวแล้ว ก็สามารถทำงานส่วนใหญ่ให้เป็นอัตโนมัติได้

    • ฉันสร้างหน้าจอเสมือน 16 จอใน sway พร้อม VNC client 16 ตัว แล้วสตรีมทั้งหมดผ่าน Wi‑Fi ซึ่ง Wi‑Fi ทำงานได้ดีเกินคาดจนไม่ได้มองหาโซลูชันที่มีประสิทธิภาพกว่านี้
    • ช่วงนั้นพีซีของฉันมีจอทั้งหมด 19 จอ โดย 17 จอเชื่อมต่อผ่าน VNC ฉันสามารถทำงานบนทุกจอ หรือกำหนดให้แต่ละจอมีหน้าที่/โปรแกรมต่างกันได้ เช่น เพลง, htop, ปฏิทิน, นาฬิกา, ssh session
    • การจัดการฮาร์ดแวร์ค่อนข้างน่าปวดหัว บางเครื่องช้าลง บางเครื่องมีปัญหาการเชื่อมต่อ และบางเครื่องก็ชาร์จแบตไม่เข้า
  • ฉันไม่อาจมั่นใจได้เต็มที่ว่าทำไมโซลูชันนี้ถึงทำงานได้ดีขนาดนี้ แต่บังเอิญคิดวิธีแก้ปัญหาสุดเพี้ยนขึ้นมาได้

    • คอมพิวเตอร์ที่ช้าที่สุดจะหน่วงคอมพิวเตอร์ที่เร็วที่สุด
    • มันทำงานได้ดีเพราะออกแบบให้เหมาะกับคอขวดของระบบ ลองไปดูเรื่อง Theory of Constraints
  • ตัวอย่างคล้ายกันเมื่อหลายปีก่อน: junkyard jumbotron ทำให้สามารถใช้จอที่รวบรวมมาแบบสุ่มเพื่อแสดงส่วนต่าง ๆ ของภาพขนาดใหญ่ภาพเดียวได้

    • [ลิงก์ GitHub]
    • วิดีโอ [ลิงก์ YouTube]
  • Chromebook เครื่องนั้นไม่มีบานพับแบบตรงตัวเลย

  • สิ่งที่น่าสนใจที่สุดคือการเปลี่ยนไปใช้ coreboot แล้วอาการค้างหายไป อยากรู้ว่ามีทฤษฎีไหมว่าทำไมถึงเป็นแบบนั้น เป็นปัญหาเกี่ยวกับ ACPI/DSDT หรือเป็นเพราะ hardware controller ถูก initialisation ผิดพลาดเมื่อใช้ BIOS เดิม

  • สงสัยว่าการทำวิดีโอเดียว แล้วให้คอมพิวเตอร์ซูมไปยังส่วนต่าง ๆ ของวิดีโอเดียวกัน จะง่ายกว่าหรือไม่ จากนั้นค่อยให้เล่นวิดีโอพร้อมกันผ่านเว็บเบราว์เซอร์

  • ถ้าคุณเห็นวิดีโอวอลล์สุดเจ๋งที่ทำจากจอ iPod Nano 6 ที่ถูก reverse engineer แล้วอยากเรียนรู้เรื่อง reverse engineering ล่ะ?

    • มีวิดีโอซีรีส์ของ Mikes Electric Stuff เมื่อ 11 ปีก่อน ยอดเยี่ยมมาก
    • [ลิงก์ YouTube]
  • ฉันกับนักพัฒนาอีกคนหนึ่งน่าจะเคยทำแบบนี้เมื่อราว 8 ปีก่อนในคอลเซ็นเตอร์ 300 ที่นั่ง โดยใช้ Windows Embedded thin clients เราใช้ timestamp กับไลบรารี JavaScript ความแม่นยำสูงเพื่อทำการซิงก์

    • หลังจากทุกคนเลิกงาน เราจะให้ทุกหน้าจอเลื่อนชื่อธุรกิจและสถิติของวัน แสดงวิดีโอหรือข้อความระหว่างรอสายจนถึงไม่กี่ชั่วโมงก่อนสายแรกของวัน หรือบางวันก็แสดงแถบสีธรรมดา ๆ