Fork me on GitHub

AntiMap Video

AntiMap Video is a desktop application built in Openframeworks. It synchronises recorded data from the AntiMap Log mobile application with raw video footage (mov, avi, mp4, m4v). It was originally created as a snowboarding/skiing application to visualise real time rider data and stats similar to a video game. 

Requirements

You will need 2 things (chances are you take one or both of these to the mountain) to use the AntiMap Video desktop application:

  1. A smart phone (Android/iPhone) with the AntiMap Log application installed.
  2. A camera: could be your friends mobile phone, a digital camera or whatever you can get your hands on. I used a Go Pro and filmed myself (poorly), if you can get a friend to do the filming- even better.

Once you’ve got the mobile application installed and your camera ready to go, next step is to set them both to record and hit that perfect run. Be sure to check the ‘How To Use?’ section on the AntiMap Log page, for a guide on getting the most accurate results.

Post analysis

When your at home, plug in your camera and copy the raw video file somewhere on your computer. Do the same for the data file from your mobile: for Android users, mount your phone as a hard drive and navigate to the “sdcard/AntiMap” folder, for iPhone users, this file can be retrieved from your device in “iTunes/Apps/AntiMap Log Documents” (just under the ‘File Sharing’ heading). Copy across the CSV data file to the same folder as the video and run the AntiMap Video desktop application. Then simply drag and drop the video and data files onto the application, and the video should start playing with your rider data overlaid.

Adjust the timelines for the data and video so they are in sync- this is the most finicky part. Chances are you may have ‘recorded’ your data just before or just after you started recording video. The individual timelines (DATA playhead & VIDEO playhead) try to make this process a little easier, once they’re synced you can use the MAIN playhead to scrub through your video & data together.

Drag and drop screen

Opening screen for AntiMap Video application

Interface

Application interface with video & data

Features

The standout feature of the AntiMap Video application is spin detection, which uses the compass data to accumulate a rotation value and attempt to determine when a 360, 540, 720, 900, 1080 has occurred and which direction (frontside/backside). The rider’s path and current position is generated from the recorded latitude and longitude into the small map in the top right. Speed, distance, and time stats also update on screen.

Location stats

Location stats generate a map showing your path and position

Spin detection

Spin detection indicator (red is accumulated degrees)

 

 

 

 

 


Potential uses

  • Real time snowboard/ski games. Original inspiration for this project came from playing Shaun White snowboarding on Nintendo Wii.
  • Making personal snow/ski movies.
  • Training/tutoring tool.
  • Competitions. I’d love to see technology like this used in an accompanying role at televised events such as the Winter X Games. Giving spectators a bit more insight through data and stats would be invaluable.
  • Whilst I specifically built this application for snow/ski, it could just as easily be adapted to suit other sports such as mountain biking, skateboarding, parkour, gymnastics, even running or walking.

Version & download links: AntiMap Video 0.1

AntiMap Video (version 0.1) is still an early prototype with plenty of kinks to work out before a 1.0 can be released. You can download the current working prototype application (OSX only) below. Source code, and a windows version is not yet available but is definitely on the TODO list.

Also on the TODO list for future versions:

  • PC/Windows version.
  • Add option to interface for riding switch.
  • Use axis-y and axis-z data to detect corks/flips.
  • Improve syncing between video & data timelines.
  • Export video functionality.
  • Point scoring system for game mechanic.
  • Spin landing accuracy. A measurable result for landings after a spin. For example, a good 360 spin would accumulate close to exactly 360 degrees with a smooth ride out. Over rotation, under rotation, and too much correction/instability after a spin would equate to an average/poor spin.
  • Up-dateable list for grabs?

Of course comments, suggestions, & improvements are encouraged.

Zip package below includes application and sample files to try (video & data). Note, I purposely set the included video sample to be 1.5 seconds ahead of the data. Once you drag and drop both files onto the application you can adjust the individual timelines or the ‘Video/Data time offset’ to equal -1.5 seconds. Then everything will be in sync. Press space to toggle menu on/off.

 
 

Updates:

AntiMap Video 0.2 now includes hi quality HD video exporting from the application. There is an issue when trying to use a h264 encoded mp4 video file and exporting, if this happens just convert your video to .mov or .avi before importing into the application.

8 comments
  1. Rodrigo says: January 17, 20128:25 am

    Hi!
    Just testing it out, it looks really cool! But something is bugging me… I managed to sinc video and data, but I can’t find the way to export a “merged” version, with the video and data showing, to then edit in a video editor… Can you help me out?
    Thanks!

    • admin says: January 17, 20129:41 am

      @rodrigo the movie export functionality is coming soon. I just used screenflow to record the movie.

  2. Justin says: January 17, 20129:58 pm

    i can’t wait for the export functionality! really cool I think this idea can go a long ways!!

  3. Justin says: January 17, 201210:01 pm

    but how do you play back the video without the settings and different menu bars overlaying the background?

    • admin says: January 17, 201211:11 pm

      @justin when you have your data and video synced for playback, just press spacebar to toggle the menu on/off

  4. Oriol says: January 20, 201211:39 am

    Hi, I’m very interested in this app. I’ve recently bought a GoPro and would like to overlay gps data on it. I’m not a snowboarder but I practice mountain biking and ski mountaineering.

    Features I think could come handy (and I’d like to be added)
    - export video (obvious), could be done via quicktime?
    - elevation profile
    - hability to enable / disable some visualizations (for example rotation, speed gauge, track, gps data or distance traveled)
    - gpx data input (in order to reuse old data), here we won’t have rotation data.
    - simple track – video sincronisation by date / hour (like an image geotag software), then apply correction. (I think is simpler to have the phone save all GPS data and then “attach” video snippets in the gps data timeline)

    Things I can offer:
    - testing in MTB, road bike, ski-mountaineering
    I’d like to offer programming skills but I can’t, sadly

  5. Rodrigo says: January 26, 20129:42 pm

    Thanks for the answer! Can’t wait for the video export function… Then this will seriously kick some ass! :)

  6. Ian says: April 11, 201210:38 am

    Cool app. I’m looking forward to the windows app so I can playback the files. Any chance you’ll be including the option to record video and other sensors (accelerometer mainly)?

    What is the format of the csv file? I can see the lat/lon and compass bearing, but what units are the other readings?

Submit comment