こんにちは。気持ちはずっとソフトウェアのエンジニア、倉持です。
GMOバーチャルジムの映像まわりのシステムについて書いてみたいと思います。
こんなことをやっていた人もこの会社にはいるのだなと伝わればうれしいです。
目次
全体構成
GMOバーチャルジム全体としてはこんな構成になっています。

こちらの記事は「B.前回の対象」の話でした。様々なプロトコルでつながるセンサーや空調、トレッドミル、低酸素装置等のコントロール含め、施設全体の管理を担っています。
今回は「A.今回の対象」について書いていきます。トレッドミルで走っているときに表示するマラソンや駅伝コースの映像を走行スピードに合わせて再生するのがメインの仕事になります。その他、各種センサーや走行情報も表示します。

モニター構成とPC
4K3台のテレビで構成しています。走行者の視界にはこの映像が広がります。
トレッドミルでの走行状態に合わせ、リアルタイムでスムーズな映像出力をできるシステムが必要になります。この要件などから、3モニター出力できるNVIDIAのGPUを搭載したWindows PCを採用しています。
ちなみにテレビそのものの電源や入力切り替え、このPCの電源も「B.前回の対象」で集中コントロールしています。
動画
コースの動画についても少しふれておきます。GMOバーチャルジム用のコース撮影時は360度カメラ(半球)を使っています。また、撮影時のGPS位置情報も取得しています。これらのデータをもとにコース動画を作成します。トレッドミルでの走行時(動画再生時)にはwebブラウザ上で球体に画像マッピングし、3画面の配置に合わせて表示調整しています。そのためthree.jsによる3D処理も利用しています。
初期構成
初期のシステムはこの構成に落ち着きました。

Go言語で実装した100行程度のコードとHTML、JS、動画、Chromeブラウザによる構成です。
http serverの主な仕事は
- htmlや動画をChromeブラウザに提供
- SSEによるリアルタイム情報更新
で、UDP serverは
- トレッドミル情報を受信
- その他リアルタイム性重視の情報受信
です。表示用ブラウザとしてChromeを使い、サーバーからブラウザへリアルタイムデータを届けるためにSSE(Server Sent Events)を使っています。3枚横並びのモニターをNVIDIA Surround機能を使って1枚のパノラマ表示モニターとして設定し、Chromeのkioskモードで起動した全画面表示で表示機能を構成しています。
サーバー機能はシンプルなGo実装のため、OSに縛られることなくバイナリを生成でき、デプロイも単体ファイルなため取り回しが良いです。この構成でパフォーマンス的にも要件を満たすものができました。
ただ、初期からもう一つ次に取り上げる現状構成も実装していました。
現状構成
こちらがもう一つの構成です。

初期構成との違いは
- Goアプリなし
- Chromeブラウザなし
- Electronのみで構成
かなりシンプルな構成です。プログラム的にもJSで完結します。また、初期構成ではchromeブラウザを別途使っているためセキュリティアップデート等Goアプリとは別で管理する必要もありました。
このようにほぼメリットしかないので当初からこちらの構成を有力候補としていました。ところが肝心のトレッドミルの走行に合わせてリアルタイムに動画の再生を制御できるだけの十分なパフォーマンスが出ませんでした。当時問題となったのは
- 動画再生のおもさ
- 3Dレンダリングのおもさ
でした。この時点でチューニングしていく手もありましたが、おそらくElectronのバージョンアップで解消するであろうということから見送りました。そしてそれから時がたち最新のElectronを利用し改めて検証した結果、十分なパフォーマンスを出せるようになっていました。Electron構成に切り替えて今も稼働していますが、安定しています。
おわりに
GMOバーチャルジムの映像まわりのシステムについて書いてみました。特殊なシステムですが、とあるソフトウェアなエンジニアが設計実装したらこうなったという話でした。みなさんが今から作るならどんな構成にしますか?
自分にとってチャレンジ要素の多いシステムを設計、開発するのは苦労もありますが楽しいですね。そういう意味ではここ数年色々な挑戦の機会をいただいたなと、これを書きながらしみじみ思いました。IoTどころかITですらない仕事も。。
ブログの著者欄
採用情報
関連記事
KEYWORD
CATEGORY
-
技術情報(601)
-
イベント(239)
-
カルチャー(60)
-
デザイン(73)
TAG
- 5G
- AI
- AI TALK
- AI 機械学習強化学習
- AI/機械学習
- AIエージェント
- AIコーディング
- AI人財
- AI駆動
- Behind the Scenes
- BIT VALLEY
- blockchain
- ChatGPT
- ChatGPT Team
- Claude Team
- cloudflare
- cloudnative
- CNDO
- CNDT
- CODE BLUE
- ConoHa
- ConoHa VPS
- CSS
- CTF
- Designship
- developer
- DevRel
- DevSecOpsThon
- Docker
- DTF
- Engineering Journey
- expert
- EXPERT CROSS
- GMO AI&ロボティクス商事
- GMO AIR
- GMO DESIGN AWARD
- GMO Developers Day
- GMO Developers Night
- GMO Flatt Security
- GMO GPUクラウド
- GMO Hacking Night
- GMO kitaQ
- GMO SONIC
- GMOアドパートナーズ
- GMOアドマーケティング
- GMOインターネット
- GMOインターネットグループ
- GMOインターネットグループ陸上部
- GMOグローバルサイン
- GMOコネクト
- GMOサイバーセキュリティ byイエラエ
- GMOデジキッズ
- GMOブランドセキュリティ
- GMOペイメントゲートウェイ
- GMOペパボ
- GMOメイクショップ
- GMOメディア
- GMOロボッツ
- GMO大会議
- GMO天秤AI
- Go
- GPUクラウド
- GTB
- Hack-1グランプリ
- IETF
- iOS
- IoT
- ISUCON
- Japan Drone
- JapanDrone
- Java
- JJUG
- JSAI2026
- K8s
- Kaigi on Rails
- Kids VALLEY
- LLM
- MCP
- MetaMask
- MySQL
- NFT
- OpenStack
- Perl
- PHP
- PHPcon
- PHPerKaigi
- Python
- RFC
- RPA
- Ruby
- SECCON
- Selenium
- Spectrum Tokyo Meetup
- splunk
- SRE
- Takumi byGMO
- Terraform
- TypeScript
- UI/UX
- vibe
- VLA
- VPN
- VS Code
- XSS
- ZTNA
- アドベントカレンダー
- イベントレポート
- インターンシップ
- インハウス
- お名前.com
- クリエイターインタビュー
- クリエイティブ
- コンテナ
- コンピュータビジョン
- サイバーセキュリティ
- サマーインターン
- スクラム
- スパム対策
- スペシャリスト
- セキュリティ
- ソフトウェアサプライチェーン
- チームビルディング
- デザイン
- ネットのセキュリティもGMO
- ハーネスエンジニアリング
- バックエンド
- ヒューマノイド
- ヒューマノイドロボット
- フィジカルAI
- プログラミング教育
- ブロックチェーン
- フロントエンド
- ペアリング暗号
- ゆめみらいワーク
- リモートワーク
- レンタルサーバー
- ロボット
- ロボティクス
- 京大ミートアップ
- 京都大学
- 人型ロボット
- 人工知能
- 人工知能学会
- 国際ロボット展
- 国際標準化
- 基礎
- 多拠点開発
- 大阪公立大学
- 宮崎オフィス
- 強化学習
- 応用
- 技育プロジェクト
- 技術広報
- 技術書典
- 拡張知能
- 新卒
- 新卒研修
- 映像
- 映像クリエイター
- 暗号
- 業務効率化
- 機械学習
- 決済
- 生成AI
- 産学連携
- 研究開発
- 耐量子暗号
- 脆弱性診断
- 開発者
PICKUP
-
【後編】「ショップ様のためになる」が判断の軸―インハウスデザイナーの役割と「売れるデザイン」
デザイン
-
【前編】決済画面のリニューアルでCVR35%→50%に改善 「最短ワンステップ」を実現したUI設計の舞台裏
デザイン
-
【Expert cross #3・後編】組織と業界を動かすエキスパートへ GMOサイバーセキュリティ byイエラエ・三村聡志が描く、「安全なロボット」を実現する世界
技術情報
-
【Expert Cross #3・前編】ソフト・ハードの両面から「話せる」エンジニアの流儀 GMOサイバーセキュリティ byイエラエ・三村聡志が語る、「伝えることで世界を良くする」エキスパートの在り方
技術情報
-
【イベントレポート後編】JSAI2026にGMOインターネットグループが登壇|GPUクラウドが支えるAI開発の最前線
イベント
-
【イベントレポート】JSAI2026にGMOインターネットグループが登壇|オープニング挨拶と最前線の研究発表
イベント