Ghostmaxxing A public lab for testing camouflage
Functional guide · Video Loader

Compare faces at exact video times.

Load a local MP4, save a face at one timestamp, and compare the face visible at another timestamp.

The Loader is the most reproducible way to revisit a frame. It records the playhead time when an action is pressed, but model outputs may still vary across browsers, hardware, and inference backends.

Purpose

Replay makeup artists video to get inspired.

One option is to run a fake webcam in Lab, this tool instead allow you to upload MP4. The Video Loader exposes a timeline, so you can pause on a recognisable moment and repeat the same action at the same displayed timestamp.

The file stays local to the browser. Selecting a video does not upload it.

Minimum procedure

After you downloaded a few videos.

01

Wait for Ready

The status indicates when the local face-api models and the experimental image embedder have loaded.

02

Select Load MP4

Choose a video from your device. The duration and millisecond timeline become available when the browser decodes its metadata.

03

Choose a baseline frame

Pause the video and move the timeline to a clear face. Note the displayed time, then select Record face.

04

Choose a comparison frame

Move to another time. Keep the variable you want to study clear, such as pose, expression, occlusion, or visible makeup.

05

Select Seek face

The Loader detects the current face and compares it with the saved 2D and 3D records. A new activity entry is added at the time where you pressed the button.

06

Read the log

Record the timestamp, nearest ID, 2D distance, 3D similarity, thresholds, and whether each pipeline returned a face.

Empty Ghostmaxxing Video Loader stage with the Load MP4 control and disabled timeline
The Loader before a file is selected. Face actions remain unavailable until the models and video are ready.Element capture · loader stage
Video Loader with a local MP4 visible at two seconds and the timeline enabled
A local MP4 at a controlled playhead time. The documentation fixture uses 00:02.000; choose times appropriate to your own test.Element capture · requested timestamp 2 seconds
Two different actions

Record creates the reference. Seek compares with it.

ActionWhat it doesWhat appears in the log
Record faceSaves a 128-value face-api descriptor, a thumbnail when available, and an experimental image embedding under the same ID.Saved ID, detection score, 2D landmark count, embedding length, and video position.
Seek faceDetects the face in the current frame and compares it with the faces already in memory.Nearest 2D distance, nearest 3D similarity, faces compared, thresholds, and structured details.

The 2D and 3D numbers have opposite directions. A lower face-api Euclidean distance is closer. A higher image-embedding cosine similarity is closer. Do not compare the raw numbers as if they used the same scale.

Video Loader activity log containing a Record face entry and diagnostic metadata
Every button action produces a timestamped entry. Use the structured details when documenting a result.Element capture · activity log
Repeatability

Control the frame. Record the environment.

  • Pause before pressing an action. Confirm the playhead after the seek completes.
  • Use the same file and timestamp when comparing revisions of the application.
  • Record browser, model files, hardware backend, and thresholds for consequential comparisons.
  • Do not treat the wall-clock time in the log as the video timestamp. The video position chip is the relevant one.
  • A frame with no detected face is a valid observation, but it does not produce an identity comparison.
Limits

This is a work in progress.

A few ideas are still laying there: produce a ghostyle out of registered videos? extract before-after difference? register in realtime the distance? Let's chat in the github issues.