1 ポイント 投稿者 GN⁺ 2025-03-02 | 1件のコメント | WhatsAppで共有
  • 世界で最もユニークなビデオウォールを作る

    • このプロジェクトは、古いChromebookを活用してビデオウォールを作る過程についての話。
    • プロジェクトは、ソフトウェア担当の筆者と、ハードウェアを設計した友人Aksel Salmiとの協業で進められた。
    • 学校で廃棄予定のChromebookを活用してビデオウォールを作ろうというアイデアから始まった。
  • Lenovo ThinkPad 11eの紹介

    • Lenovo ThinkPad 11eは性能の低い学校向けノートPCで、筆者の子ども時代のコンピューターへの関心を育ててくれた機種。
    • 現在ではソフトウェアアップデートが打ち切られ、Webページの読み込みにも苦労するなど性能が低下し、廃棄対象になっている。
  • ビデオウォールとは?

    • ビデオウォールは、複数の画面を組み合わせて1つの大きなディスプレイを作るもの。
    • このプロジェクトでは、ノートPCの画面を再利用してビデオウォールを作ることにした。
  • 画面を別のハードウェアで駆動できるか?

    • 当初はノートPCのディスプレイパネルだけを活用し、より高性能なコンピューターで駆動しようとしたが、時間と費用の問題で断念した。
  • 2台のデバイス間でのビデオ同期の試み

    • 各画面を独立して動かすほうがよいと判断し、複数のコンピューター間でのビデオ同期の問題に集中した。
    • VLCのストリーミング機能を試したものの、完全な同期には向いていなかった。
  • Socket.ioを活用した同期

    • Socket.ioを使って、Webページ上でビデオ再生を同期する方法を見つけた。
    • ビデオ再生が終わると各クライアントが開始イベントを送信し、同期を維持する。
  • ChromeOSの置き換え

    • Chromebookのソフトウェアの問題により、ChromeOSをLinuxに置き換えることにした。
    • corebootを使って既定のファームウェアを上書きし、自動でビデオを再生するスクリプトを書いた。
  • 最終段階

    • Akselがハードウェアの取り付けを担当し、筆者はWebページへブートする方法を改善した。
    • Porteus Kioskを使って、自動的にChromiumブラウザーを起動するよう設定した。
  • 独自ディストリビューションの制作

    • Debianベースの最小構成インストールを通じて、自動インストールUSBを作成した。
    • c-syncクライアントを管理し、ビデオを割り当てられるコントローラーを構築した。
  • 取り付けと最終調整

    • Akselが設計した取り付け用ハードウェアを使って、ノートPCを壁に取り付けた。
    • ファン速度を手動で設定し、発熱の問題を解決した。
  • プロジェクトの意義

    • このプロジェクトは、チームワークと協業の重要性を示す事例であり、E-Wasteを有効活用した例でもある。
    • プロジェクトは筆者の高校時代の経験に大きな影響を与え、多くの人々の助けによって実現した。

1件のコメント

 
GN⁺ 2025-03-02
Hacker Newsのコメント
  • この面白いプロジェクトを完成させたことに祝意を表したい。私は複数のデバイス間でメディアコンテンツを同期する作業をよくしているので、人々がどんな解決策を出してくるのかを見るのはいつも楽しい。調査の過程でBrightSignメディアプレーヤーに行き当たったのではないかと思う。20台のディスプレイを購入する総費用は数万ドルに達する可能性がある。リサイクル機器でこれを実現したことに大きな賛辞を送りたい

    • メディア同期関連のコードベース作業に興味があれば連絡してほしい。私たちはフリーランス契約のために開発者をよく雇っている
  • Chromebookが発売されたとき、私はGoogleで働いていた。ロビー装飾の提案をしたが却下された。おそらく40〜64台のデバイスを要求したからだろう

    • ビデオ同期は試さなかっただろう。代わりに時間ベースのアニメーションを作り、ネットワークを使って時計を同期したはずだ
    • 例はここで見られる: [YouTubeリンク]
    • 8台のデバイスがChromeを実行中だ。同期されているのは設定と時間だけだ
    • デバイスは必ずしもグリッド状である必要はない。Boston Science Museumのバーチャル水族館から着想を得た
  • すごい! 4x4のタブレットで似たことをやったことがある。16台をADBと単一ホストに接続し、その後は作業の大半を自動化できた

    • 16個のVNCクライアントと一緒にswayで16個の仮想画面を作り、Wi-Fi経由ですべてにストリーミングした。Wi-Fiがあまりにもうまく動いたので、もっと効率的なソリューションを探さなかった
    • その期間中、私のPCには19台のディスプレイがあった。そのうち17台はVNC経由で接続されていた。すべてのディスプレイで作業することも、それぞれを別の目的/プログラム(音楽、htop、カレンダー、時計、sshセッション)に割り当てることもできた
    • ハードウェアの扱いはかなり面倒だった。遅くなるものもあれば、接続に問題があるものもあり、バッテリーが充電されないものもあった
  • なぜこのソリューションがこれほどうまく動くのか完全には確信できないが、偶然とんでもない解決策を思いついた

    • 最も遅いコンピューターが最も速いコンピューターを待たせる
    • システムのボトルネックを考慮して設計を最適化したから、うまく動いている。制約理論を見てみるといい
  • 数年前の似た事例: junkyard jumbotronは寄せ集めのディスプレイを使って、より大きな画像の一部を表示できるようにする

    • [GitHubリンク]
    • 動画 [YouTubeリンク]
  • Chromebookに文字どおりヒンジがない

  • 最も興味深いのは、corebootに切り替えたことでフリーズ現象が解消されたことだ。なぜそうなったのかについて理論があるのか気になる。ACPI/DSDT関連の問題なのか、それとも元のBIOSでハードウェアコントローラーが誤って初期化されていたのか気になる

  • 1本の動画を作って、各コンピューターがその異なる部分を拡大表示するようにしたほうが簡単だったのではないかと思う。そのうえでWebブラウザー経由で動画を同時再生する

  • 逆アセンブルされたiPod Nano 6のディスプレイで作ったクールなビデオウォールを見て、リバースエンジニアリングについて学びたくなったなら?

    • 11年前のMikes Electric Stuffの動画シリーズがある。素晴らしい
    • [YouTubeリンク]
  • 私と別の開発者は、おそらく8年前にWindows Embeddedのthin clientsで300席のコールセンターでこれをやった。同期にはタイムスタンプと高精度JavaScriptライブラリを使った

    • 全員が退勤した後、すべての画面にビジネス名とその日の統計をスクロール表示した。最初の通話の数時間前までは、待機用の動画やテキスト、あるいはその日に応じて単純なカラーバーを読み込んでいた。