Skip to content

coeurnix/move2see

Repository files navigation

Move2See

Exercise-powered VR media player: Move2See is a WebXR-based VR application that combines media playback with physical activity tracking. Keep moving to keep watching. Your exertion level controls playback speed, encouraging you to stay active during your entertainment time. It has been tested on the Meta Quest 3 and includes built-in support for body tracking.


Features

Admin Mode (/admin)

  • Configuration Management

    • Allowed IP address ranges (supports wildcards like 192.168.*)
    • Password protection for Play Mode
    • Passthrough dimming (0-100% opacity)
    • Server port configuration
    • Player weight (for calorie estimation)
  • Playlist Management

    • Create, rename, and delete playlists
    • Drag-and-drop media file uploads
    • Support for: .mp4, .webm, .mp3, .ogg, .wav
    • Rename media display names

Play Mode (/)

  • VR Interface

    • WebXR immersive-vr experience
    • Passthrough dimming for reduced distraction
    • Floating media player screen
  • Playback Controls

    • Play/Pause
    • Skip forward/backward 30 seconds
    • Previous/Next media in playlist
    • Screen position and scale adjustment
  • Exertion Tracking

    • Real-time movement analysis using controller and headset tracking
    • Rewards arm movement over wrist wiggling
    • Bonus points for vertical movement (squats, jumps)
    • Bonus points for head/body translation
  • Adaptive Playback

    • Playback speed scales with exertion level
    • No movement = video pauses
    • Red warning border when exertion is too low
    • Passthrough dimming reduces when not exercising
  • Difficulty Levels

    • Off: No exertion required
    • Easy: ~2 METs (light activity)
    • Normal: ~4 METs (moderate activity)
    • Hard: ~6 METs (vigorous activity)
    • Extreme: ~8 METs (very vigorous)
  • Session Statistics

    • Calories burned estimation
    • Progress tracking

Installation

Prerequisites

  • Go 1.21 or later — Download from https://go.dev/dl/
  • A WebXR-compatible VR headset (Meta Quest, etc.)
  • Modern web browser with WebXR support

Building from Source

Run build.py with Python. This will build executables for all platforms and place them in the build/ folder.


Running the Server

Run the executable from the build/ folder.

Accessing the Application

  • Admin Mode: http://localhost:33333/admin (local access only)
  • Play Mode: http://[server-ip]:33333/ (any allowed client)

For VR, you'll need to access the Play Mode URL from your VR headset's browser.

Note that


Tips for Best Experience

  1. Warm up first — Start with Easy difficulty and work up
  2. Use full arm movements — Wrist movements don't count as much
  3. Include vertical motion — Squats and jumps earn bonus calories
  4. Move your whole body — Head/body translation is rewarded
  5. Stay in the zone — Maintain the target MET level for smooth playback

License

MIT License - Use freely for personal and commercial projects.

About

Web-based VR exercise app where you can watch videos as long as you are exercising

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors