Skip to content

v1.0.0

Choose a tag to compare

@noxend noxend released this 09 Aug 12:54
· 172 commits to main since this release

Renamed from demo-video-optimizer. The command, the launchd label, the environment variables and
the working folder all moved with it.

New

  • trim_idle cuts out the parts where the screen is not changing. A 20 second test clip with four
    seconds of movement in it came out at 2 seconds instead of 10. Off by default. It also stands
    down on any file that keeps its audio, because dropping video frames would leave the sound behind.
  • Every setting works as a flag, so one file can be handled differently without editing anything:
    shrinkit --speed 4 --crf 32 recording.mov.
  • Presets. Put a file of settings in presets/ and use it with --preset chat. Any preset can get
    its own right-click entry: shrinkit preset install chat.
  • shrinkit config prints what is in effect. shrinkit config crf 32 changes one line and leaves
    the comments around it alone. shrinkit config edit opens the file.

Changed

  • Settings are key = value in settings.conf. An older settings.jsonc is converted during
    install and kept as a .bak. The JSON version started a JavaScript interpreter on every single
    encode to read fifteen keys, and one missing comma put every setting back to its default without
    telling you.
  • output_suffix understands {speed}, so speed = 3 stops producing files called -2x.
  • The Finder entry is now called Shrink Video.

Fixed

  • A queue of large files could lose its lock halfway through an encode, once the run passed thirty
    minutes, and a second run would pick the same file up. The lock now records the pid holding it,
    and only a run that has actually died gets overruled.
  • A // or a # inside a setting value no longer cuts the value short.
  • --help prints usage instead of being treated as a filename.

The test suite had 54 checks before this release and has 89 now. GitHub Actions runs them plus
shfmt on a macOS runner.

Upgrading

./update.sh

That pulls and reinstalls. It takes the old demo-video-optimizer install apart, moves
~/Movies/demo-recordings to ~/Movies/shrinkit, and converts your settings. Recordings, settings
and presets all carry over.