Palmreader v0.10.0

June 19, 2025

Switching to MP4

This update brings a significant change to how videos are captured and stored.

Summary of Changes

  • All new captures are stored in .mp4 files
  • All .avi (referred to herein as ’legacy’) captures are still supported
  • Legacy captures will be migrated to .mp4 when they are analyzed
  • Imports and exports have been updated to support both .avi and .mp4
  • Setting a fixed duration now deterministically sets the frame count of the capture

Prior to this update, all video files produced by Palmreader were stored in .avi files. With this update, all new captures will be saved in .mp4 files, and all old captures will be migrated to an .mp4 file when they are analyzed.

MP4 Change Details

Starting with this update, all new captures are directly stored in .mp4 files. This includes analysis results as well (heatmap, skeleton, etc.). All legacy (.avi) captures are still fully supported by Palmreader and always will be.

When analyzing a legacy capture (i.e. any capture taken before this update), it will be automatically migrated to MP4. This migration process is faster than preprocessing and only happens once for each capture. For a 10 minute capture, it takes no more than 5 minutes (2x speed). It is usually closer to 4x speed.

All .plm files exported prior to this update will continue to be supported and do not need to be migrated deliberately.

This change was necessary because AVI does not fully support H264 (the video codec Palmreader uses), and there were many nuances to getting it to work correctly. MP4 is far more futureproof and supports the entire H264 specification, representing captures more accurately and efficiently.

Note for Developers

If you’ve developed your own analysis pipeline using videos from Palmreader, there are 2 options going forward:

  1. Implement a check for both mp4 and avi files and prefer mp4 when it exists
  2. Instruct those generating your data to re-export every relevant video using the Export > Recordings checkbox. If this is the only box selected, Palmreader will simply migrate the videos then spit them back out without doing any analysis.

Duration Determinism

In all previous versions of Palmreader, video durations were not exact. A 10 minute capture could vary in length by a few frames. All captures taken with this update and any newer updates will be exactly d * f frames long, where d is the duration in seconds and f is the framerate in frames/sec.