Skip to content

Repository files navigation

XREAL YouTube VR icon

XREAL YouTube VR

Turn your head. The video follows.
A focused macOS player that gives XREAL One glasses head-tracked 360° video, stereoscopic playback, and direct hardware controls.


Most desktop video players treat XREAL glasses like an ordinary external monitor. This one does not.

XREAL YouTube VR reads the glasses' live IMU stream and uses it to steer the camera inside YouTube 360° and local equirectangular video. Start a video, put on the glasses, and look around naturally—no mouse dragging during playback.

It also reaches beyond playback: switch display modes, enter native Full SBS, recenter the view, adjust brightness and tint, and control XREAL's spatial modes from one Mac app.

Important

This is an independent community project. It is not affiliated with, endorsed by, or supported by XREAL.

What you can do

Experience What the app handles
YouTube 360° Paste a watch, share, Shorts, Live, or embed URL and steer supported 360° video using head movement.
Local 360° Open a 2:1 equirectangular video and explore it with low-latency IMU head tracking.
Stereo 3D Render top/bottom or side-by-side sources as two native 1920×1080 eye views in XREAL Full SBS mode.
Cinema presentation Find the XREAL display, move the player to it, and enter a clean video-only fullscreen view automatically.
Glasses control Change brightness, tint, stabilizer, wear detection, frame-button behavior, screen size, and screen distance.
Spatial modes Select Follow, Anchor, Side View, or UltraWide and recenter without reaching for another utility.

The fun part

The glasses expose a live orientation stream. The app turns that data into camera movement while keeping display-mode changes coordinated with the video:

XREAL IMU  ──▶  calibrated head pose  ──▶  360° camera
                                                    │
video type  ──▶  mono / stereo detection  ──▶  2D or Full SBS

For 360° playback, the app snapshots the current spatial mode, screen size, and stabilizer settings. It applies a reversible viewing preset, presents the video on the XREAL display, then restores the original setup when you leave.

Press Esc to exit presentation mode and return the window to its previous position.

Quick start

Requirements

  • macOS on Apple silicon
  • XREAL One glasses connected to the Mac
  • Node.js and npm

Run from source

git clone https://github.com/GarfDev/xreal-one-control-panel.git
cd xreal-one-control-panel
npm install
npm start

Then choose a path:

  1. YouTube: paste a supported URL and start playback.
  2. Local 360°: choose a local equirectangular video.
  3. Stereo check: click Run Google 3D test to load Google's known-good top/bottom calibration video.

Understanding the video modes

Monoscopic 360°

You can look around, but both eyes receive the same image. The app selects Normal 2D at 1920×1080.

Stereoscopic 360°

Each eye receives a different view, creating depth. Top/bottom and side-by-side local sources are mapped to native XREAL Full SBS output at 3840×1080—two unsqueezed 1920×1080 eye views.

YouTube limitations

The app uses YouTube's official IFrame Player API to set yaw and pitch on recognized 360° videos. A video must be public or unlisted, embeddable, and uploaded with valid 360° metadata.

Ordinary flat videos ignore spherical camera commands. A monoscopic video also remains monoscopic; the app does not manufacture fake depth. For stereo playback, the YouTube video must visibly provide a full-width left/right presentation before entering Full SBS.

Build and test

npm test
npm run dist

The test suite covers device packets, live-control parsing, stereo layout, presentation flow, and YouTube orientation. Packaged builds target Apple silicon and are not notarized; signing depends on the local packaging environment.

More than a player

This repository also documents the XREAL One interfaces uncovered while building the app:

Firmware work can make hardware unusable. Read the recovery documentation and verify the exact device and firmware before experimenting. The video player and normal glasses controls do not require flashing modified firmware.

Why I built it

An XREAL update left the physical buttons on my glasses unusable. Support did not provide a workable resolution, and otherwise-functional hardware had lost essential controls.

So I started pulling on the thread: first restoring access to the controls, then decoding the IMU stream, then turning the result into the 360° player I wanted the glasses to have. This project is the outcome—and a way to keep useful hardware useful.

Privacy and security

  • Local videos stay on the Mac.
  • The renderer is sandboxed with Node integration disabled.
  • Device commands are validated in the main process.
  • YouTube playback uses youtube-nocookie.com, though normal YouTube network requests still occur during playback.

License

Released under the MIT License.

About

Unofficial macOS app for XREAL One with IMU head-tracked YouTube and local 360° video, stereoscopic SBS playback, spatial modes, and direct device controls.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages