To skip a step, press the shift key while clicking the button.
Sigmund
Video Analysis
Click to draw a line whose length you know.
Click to set t = 0 at the current frame.
Click to choose the x = 0 axis.
Click to choose the y = 0 axis.
Click to start tracking an object.
Use the calibration to measure a distance in the video. Shift-click this button to clear all measurements.
Toggle display of the tracking points.
Toggle display of the x-y axes.
Toggle display of the video calibration.
Reset for loading a new video.
Read these if you dare!
Version history, etc.
Quick Start Instructions
  1. Load a video
  2. Calibrate the video
  3. Advance the video until the object is touching nothing but air
  4. Click the t = 0 button
  5. Set x and y zero position using the buttons
  6. Start collecting data
  7. Copy your data using the buttons in the lower right
Drag and drop a video here or...
(Don't know what to do? Try reading the instructions!)
   
0000/0000
Frame advance after data point:
--- fps
File:
Click to unmute: 
  t (s) x (?) y (?)
Copy data to clipboard
Copy horizontal positon vs. time to clipboard.
Copy vertical positon vs. time to clipboard.
Copy both vertical and horizontal positons vs. time to clipboard.
Enter the length
for the line
and its units.
Length:
Unit:
dummy text
dummy text
Current frame set as t = 0.
Data table copied to clipboard.
This action will erase the current data set.
Is that what you want to to?
You should load a video first.
This video failed to load properly.
Sigmund should be able to handle videos from either iPhone or Android. If you continue to have problems, try converting your video to MP4 using Freeconvert.com or another free converter service.
This video is larger than 300 megabytes!
Sigmund cannot handle a video that large.
If you keep each video to under 2 minutes
in length you should be fine.
×

TLDR

Load a video, and then work your way down the left-side buttons from Calibrate down to Get Data Points. Use the single step buttons to position the video to the frame you want to set as t = 0. The zero positions for x and y are not critical. Set them wherever you like. When you are done tracking the object, use the buttons at the lower right to copy the data into the clipboard for pasting into a spreadsheet or nPlot. If all else fails, try reading the longer instructions below.

Sigmund Video Analysis Program

This browser-based app is designed to allow the video tracking of a moving object, like a tossed ball. The basic idea is simple: load a movie, use an object in the video to set the scale, and then click on the moving object in successive video frames to get position vs. time data. Sadly, it will not run properly on a smartphone, only on a Chromebook or other laptop.

Videos & Video Format

This program works with the mp4 format videos produced by Android and Apple smartphones. (iPhone video files have the extension .mov instead of .mp4, but work just the same.) This program will work best if you keep it simple: take short videos with no slow motion.

Do not edit the video on your phone. This scrambles the location of key information in the video file. If you want a short video, take a short video.

Slow motion videos are tricky! Slow motion is not generally needed for videos of dropped or gently tossed balls. If you need slow motion to record your video of, for example, a fastball, please see the Slow Motion section below.

Problem videos As phone technologies advance, new, more efficient video formats are developed. This program uses your browser's built-in video player to show your video. Sometimes there is a lag between when a new format shows up in phones and web browsers get updated to handle it. If you get a message that your video failed to load properly, you will need to change your camera settings to an older format. In the worst case, you will need to choose what is known as the H.264/AVC format. Use The Google to figure how to change this on your phone.

The Video PlayerBack to top

This should feel more or less like every other video playing app you've used. There's a play/pause button and a button to reset the video to the start. There are a pair of buttons to step one frame forward or one frame backward (you can also use the left and right arrow keys on the keyboard for this).

The progress bar can be used to jump to any point in the video, or can be dragged to move through it. If you drag the bar too fast, you may have to reload your video. To the right of the progress bar is a display to show you which frame you're looking at, and the total number of frames in the video.

By default, videos are muted when they first load. The control to unmute or re-mute the video is under the progress bar.

A time stamp giving the time of the current frame is shown in the lower right corner of the video area. The zero of time is either the first frame, or the frame you set it to (see Setting the Origin below).

The Skip This Frame button is explained in the Taking Data section below.

CalibrationBack to top

If you were planning ahead, there is something like a meter stick in your video. Press the Calibration button to start. Click on the video where you want to start defining a line of known length, then click again where you want that line to end. Enter the actual length of this line and the units for that length in the popup window. The units in the data table headings will be updated to reflect your input. The calibration line will remain on the screen. You can toggle the display of the length value with the Show Scale button. You can re-do the calibration if you think you messed up, but you will lose any collected data.

Setting the OriginBack to top

There are three buttons. The t = 0 button sets the zero of time at whatever frame is currently displayed. You set the positions for the zeroes of x and y with the cursor. You can re-do any or all of these steps, but if you have collected any data, you will lose it. The Show Origin will toggle the display of the x and y axes you just set up. It will also scroll the video to show the frame you set as t = 0. This can be useful for quickly resetting the video to the point where you started taking data.

If you do not set an origin, the point (0,0) will be in the upper left corner of the video, and t = 0 occurs at the first frame.

Taking DataBack to top

Click the Get Data Points button to start. Each time you click on the image, you will get a red dot, and the position of the dot will be loaded into the data table. When you click, the movie will automatically be moved ahead by the Frame Advance number in the lower left. For a regular speed video of a dropped object a Frame Advance of 2 works well.

If the movement of the object is small, the red dots can make it difficult to see things. You can hide the points (with the Hide Points button) while taking data. Everything will work the same, you just won't get that red dot when you click.

Click the Done button when you have finished, or Cancel to erase all your data and start over. (This does not affect the calibration or zero point.)

Acquiring a new set of data (by clicking Get Position Data again) means erasing the old set. Be sure you have copied that data to the clipboard (and pasted it into a spreadsheet!) before proceeding. If, for some reason, you don't want to save the old data, just lie and say that you have.

While you are tracking an object, the video controls remain active, so you can use them to move forward or backward before clicking the next point. The player always knows what frame it is showing, so the time information will always be correct for videos you took yourself...BUT read the Slow Motion section below if you are analyzing a movie clip you got from YouTube or you took your video using the slow motion setting on your camera.

Uploading DataBack to top

You can upload the horizontal and vertical postions (vs. time) separately. Pressing either the "x vs. t " or "y vs. t " buttons will copy two columns of data to the clipboard so that you can paste them directly into nPlot or some other graphing program. (But why would you want to use any other program?) If you want column headers with the data (for pasting into an electronic lab notebook) hold down the shift key while pressing the button. For your convenience, there is a Launch nPlot button right below the copy data buttons.

MeasurementsBack to top

Use this tool to measure distances in the video. If there is no calibration set, the distance will be reported in screen pixels. The interface works just like the calibration: click at one end of the distance you want to measure, then click again at the other. Hold down the shift-key while clicking the Measure button to clear all the previous measurements.

Slow MotionBack to top

Slow motion is tricky. Different phone brands handle the time information differently. Some brands change how the time information is handled, depending on which version of iOS they are running. If you took your video in slow motion, and the frames per second display (next to the Skip This Frame button) matches how you took the video, things should be fine. If the fps display doesn't match what you did, then you will have to set the frame rate manually. Use the input in the bottom right corner (below the Frame Advance control) to enter your actual frame rate, and click the checkbox.

Movie clips from YouTube Movie cameras run at 24 frames per second. YouTube videos run at 30 frames per second. A YouTube clip taken from a movie will have duplicate frames. If you single-step through the clip, you will see that sometimes what you are looking at does not change even though you have stepped to the next frame. This is a duplicate frame. To analyze a movie clip, use a manual frame rate of 24 frames per second. Then, when you get a duplicate frame, click the Skip This Frame button. (Sometimes you get two duplicate frames in a row. If the frame does not change when you click the button, click it again.)

 
×

Sigmund Video Analyzer v1.00

© 2022-2025, Geoff Nunes

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License Version 3 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Questions, brickbats, and requests for new features can be sent to doc at this website (noragulfa.com). Please don't expect a rapid response.

Change Log

v2.14

New Feature: Pressing the shift key while clicking enables calibration and origin setting steps to be skipped.

Bug Fix: Loading of videos larger than 300 MB is now prevented.

Bug Fix: Auto-zooming of the app was causing issues with the progress bar.

Bug Fix: Some tool tips were hidden after the calibration process was completed.

v2.13

New Feature: Video file name is now displayed below the progress bar.

v2.12

New Feature: New control to unmute or mute the video.

v2.11

New Feature: A frame time stamp is now included in the lower right corner of the video area.

New Feature: The keyboard left and right arrow keys now duplicate the on-screen single step buttons.

v2.10

New Feature: Added the ability to directly set the video frame rate.

Aesthetics: Changed the look of the buttons for a less busy interface.

Change: On video load, user is now directed step-by-step through calibration and setting the origin.

Change: Updated instructions with the goal of shorter and clearer.

v2.03

Front panel update: Adjusted margin to prevent scroll bars.

Documentation update: Added advice to not edit videos on the phone before download.

v2.02

Minor Change: Updates to Instructions.

v2.01

Bug Fix: Single step buttons were glitchy immediately after pressing the Show Origin button.

Minor Change: Corrected typos and added clarifications to the Instructions.

v2.00

Change: Frame rate now obtained by reading video movie data.

Change: Quicktime format from iPhone (.mov extension) can be read without modifying the file name.

Change: Warning message if user changes the time base for an iPhone slo-mo video.

Change: User gets confirmation message when setting the t = 0 frame.

Change: Video player now uses native video engine to eliminate laggy playback.

Minor Change: Tooltips now show up a bit sooner.

Minor Change: Instructions start with TLDR version for the impatient.

Minor Change: Added tool tips to the copy data buttons.

v1.08a

Minor Change: Version update text now handled in the script. Different message for first time use.

v1.08

Change: Video frame rate display added to the front panel.

Minor Change: Typos fixed.

v1.07

New Feature: Pop-up message the first time Sigmund is run after an update.

Documentation: More details on video formats and files from iPhones added to the instructions.

v1.06

New Feature: Skip This Frame button to skip over duplicated frames.

New Feature: Launch nPlot button opens nPlot in a new tab.

Cleanup: Repair lack of adequate proof reading of the instructions.

v1.05

New Feature: Settings for analyzing videos up to 240 fps (1/8x).

Change: Clicking on the noragulfa.com logo now opens the home page in a new tab.

v1.04

Tweak: Improvements to frame rate determination.

v1.03

Change: Data upload is now accomplished with 3 separate buttons to make subsequent analysis easier.

v1.02

Bug fix: Issues related to using the app with a screen larger than a standard Chromebook.

v1.01

Change: Number of allowed data points increased to 100, because some people just want more.

Improvement: Warning message displayed for videos above 32 fps.

v1.00

Initial release: Aug. 16, 2022