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.
Drag and drop video here or...
(Don't know what to do? Try reading the instructions!)
   
0000/0000
Frame advance after data point:
--- fps
Slow motion setting:
  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?
This video failed to load properly.
Check your phone settings to make sure that
that you are using H.264/AVC encoding
and not a "high efficiency" format.
You should load a video first.
This video seems to have come from an iPhone.
For an iPhone video, the usual slow motion setting is Normal.
×

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 mp4 format videos only. Most smartphones record movies in this format. Movies from iPhones have a different file extention (.mov instead of .mp4) but work just the same. Depending on your web browser, your phone settings might need to be changed. If your Chrome version is earlier than 104 and you can't update (as will be true for older Chromebooks), or you otherwise made a video and it won't play, then you need to record your videos using the H.264/AVC format. This can be done through the camera settings on your phone. The setting you want will be called "most compatible" or dissed as "less efficient". Use The Google to figure how to change this on your phone.

Do not edit the video on your phone. This scrambles the location of key information in the video file. While I may, at some point, figure out how to unscramble things, the strategy for now is to download the video from the phone without making any edits.

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, a button to reset the video to the start, and a pair of buttons to step one frame forward or one frame backward. The progress bar can be used to jump to any point in the video, or dragged to move through it at pretty much any speed you like. 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. 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

This is an optional step. 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 this, 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. 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...BUT read the next paragraph.

The timing of videos that have been grabbed off YouTube can be pretty messed up. This can show up as duplicate frames or missing frames. The Skip This Frame button is designed to address this. If you click to take a data point and you do not see the video image change, then you are looking at a duplicate frame. Click the Skip This Frame button. Sometimes the next frame will be a duplicate too. Just use the button again. But be aware that this is probably only a partial fix. If there are duplicate frames, then the there is a good chance that the whole time base for the video is off, and you are likely to get problematic values for things like the acceleration due to gravity. If you have access to a video editor, and the required expertise, you can maybe fix it. Otherwise, you will have better results making your own movies.

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

In the Church of iPhone, a slow motion video will report that its playback frame rate is the frame rate actually used when filming it. When you play the video, it plays back at the same high frame rate, and so appears to be at normal speed. To get accurate motion timing, you do not need to adjust the time base. In the Church of Android, the video reports its frame rate as 30 fps, so that playback appears in slow motion. In that case, you do need to adjust the time base. Controls for that are at the bottom of the app window, towards the right.

 
×

Sigmund Video Analyzer v1.00

© 2022, 2023, 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.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

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

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