1 puntos por GN⁺ 2025-03-02 | 1 comentarios | Compartir por WhatsApp
  • Cómo crear el videowall más singular del mundo

    • Este proyecto cuenta el proceso de crear un videowall reutilizando Chromebooks viejas.
    • El proyecto se llevó a cabo como una colaboración entre el autor, encargado del software, y su amigo Aksel Salmi, quien diseñó el hardware.
    • Todo comenzó con la idea de construir un videowall usando Chromebooks que una escuela iba a desechar.
  • Introducción a la Lenovo ThinkPad 11e

    • La Lenovo ThinkPad 11e es una laptop escolar de bajo rendimiento que despertó el interés del autor por las computadoras durante su infancia.
    • Actualmente ya no recibe actualizaciones de software y su rendimiento ha caído al punto de tener dificultades incluso para cargar páginas web, por lo que terminó destinada al descarte.
  • ¿Qué es un videowall?

    • Un videowall consiste en combinar varias pantallas para formar una sola pantalla grande.
    • En este proyecto se decidió reutilizar pantallas de laptop para construir el videowall.
  • ¿Se puede manejar la pantalla con hardware independiente?

    • Al principio se intentó aprovechar solo los paneles de pantalla de las laptops para manejarlos con una computadora más potente, pero la idea se abandonó por cuestiones de tiempo y costo.
  • Intentos de sincronización de video entre dos dispositivos

    • Se concluyó que era mejor operar cada pantalla de forma independiente y concentrarse en el problema de sincronizar video entre varias computadoras.
    • Se probó la función de streaming de VLC, pero no resultó adecuada para lograr una sincronización perfecta.
  • Sincronización con Socket.io

    • Se encontró una forma de sincronizar la reproducción de video en una página web usando Socket.io.
    • Cuando termina la reproducción del video, cada cliente envía un evento de inicio para mantener la sincronización.
  • Sustitución de ChromeOS

    • Debido a los problemas de software de las Chromebook, se decidió reemplazar ChromeOS por Linux.
    • Se sobrescribió el firmware predeterminado con coreboot y se escribió un script para reproducir el video automáticamente.
  • Etapa final

    • Aksel se encargó del montaje del hardware, y el autor mejoró la forma de arrancar directamente en una página web.
    • Se configuró Porteus Kiosk para ejecutar automáticamente el navegador Chromium.
  • Creación de una distribución propia

    • Se creó un USB de instalación automática a partir de una instalación mínima basada en Debian.
    • También se construyó un controlador para administrar los clientes de c-sync y asignarles videos.
  • Montaje y ajustes finales

    • Las laptops se montaron en la pared usando el hardware de montaje diseñado por Aksel.
    • El problema del calor se resolvió ajustando manualmente la velocidad de los ventiladores.
  • El significado del proyecto

    • Este proyecto muestra la importancia del trabajo en equipo y la colaboración, y es un ejemplo de cómo dar un uso útil a los residuos electrónicos.
    • El proyecto tuvo un gran impacto en la experiencia del autor durante la preparatoria y fue posible gracias a la ayuda de muchas personas.

1 comentarios

 
GN⁺ 2025-03-02
Comentarios en Hacker News
  • Felicidades por completar este proyecto tan divertido. He trabajado bastante sincronizando contenido multimedia entre varios dispositivos, así que siempre es interesante ver qué soluciones propone la gente. Probablemente te topaste con los reproductores multimedia BrightSign durante la investigación. El costo total de comprar 20 pantallas podría llegar a decenas de miles de dólares. Mis respetos por haber logrado esto con dispositivos reciclados

    • Si te interesa trabajar en código relacionado con sincronización multimedia, contáctanos. Contratamos desarrolladores con frecuencia para trabajos freelance
  • Trabajé en Google cuando salió Chromebook. Hice una propuesta para decorar el lobby, pero la rechazaron. Probablemente porque pedí entre 40 y 64 dispositivos

    • Probablemente no habría intentado sincronizar video. En su lugar, habría hecho animaciones basadas en tiempo y usado la red para sincronizar los relojes
    • Se puede ver un ejemplo aquí: [enlace de YouTube]
    • Hay 8 dispositivos ejecutando Chrome. Lo único sincronizado eran la configuración y la hora
    • Los dispositivos no necesariamente tienen que estar en forma de cuadrícula. Me inspiré en el acuario virtual del Museum of Science de Boston
  • ¡Qué genial! Hice algo parecido con una matriz 4x4 de tabletas. Conecté 16 dispositivos por ADB a un solo host y pude automatizar la mayor parte del trabajo

    • Creé 16 pantallas virtuales en sway junto con 16 clientes VNC, y transmití todo por Wi‑Fi. El Wi‑Fi funcionó tan bien que no busqué una solución más eficiente
    • Durante ese tiempo, mi PC tenía 19 pantallas. 17 de ellas estaban conectadas por VNC. Podía trabajar en todas las pantallas o asignar cada una a un propósito/programa distinto (música, htop, calendario, reloj, sesiones de ssh)
    • Lidiar con el hardware era bastante molesto. Algunas iban lentas, otras tenían problemas de conexión y otras más no cargaban la batería
  • No estoy completamente seguro de por qué esta solución funciona tan bien, pero por casualidad se me ocurrió una solución absurdamente rebuscada

    • La computadora más lenta retrasa a la más rápida
    • Funciona bien porque el diseño se optimizó teniendo en cuenta el cuello de botella del sistema. Vale la pena revisar la teoría de restricciones
  • Un caso parecido de hace algunos años: junkyard jumbotron, que permitía usar pantallas reunidas al azar para mostrar partes de una imagen más grande

    • [enlace de GitHub]
    • Video [enlace de YouTube]
  • Chromebook literalmente no tiene bisagra

  • Lo más interesante es que el problema de congelamiento se resolvió al cambiar a coreboot. Me pregunto si hay alguna teoría sobre por qué pasaba eso. Me pregunto si era un problema relacionado con ACPI/DSDT, o si el controlador de hardware se estaba inicializando mal con el BIOS original

  • Me pregunto si habría sido más fácil hacer un solo video y que cada computadora ampliara una parte distinta del video. Luego reproducir el video al mismo tiempo a través del navegador web

  • ¿Viste un increíble video wall hecho con pantallas de iPod Nano 6 obtenidas por ingeniería inversa y quieres aprender sobre reverse engineering?

    • Hay una serie de videos de Mikes Electric Stuff de hace 11 años. Es excelente
    • [enlace de YouTube]
  • Otro desarrollador y yo probablemente hicimos esto hace unos 8 años en un call center de 300 puestos con thin clients de Windows Embedded. Usamos marcas de tiempo y una biblioteca de JavaScript de alta precisión para la sincronización

    • Después de que todos se iban del trabajo, hacíamos scroll con el nombre de la empresa y las estadísticas del día en todas las pantallas. Hasta unas horas antes de la primera llamada, cargábamos video o texto en espera, o simples barras de color según el día.