Repository navigation
v2.0.0
Cutting a stretch out of a recording, and five settings removed.
New
-
Cut a stretch out of a recording. On the command line, name the ranges with
--cut, once each:shrinkit --cut 0:32-0:35 --cut 2:30-end recording.mov
Or put a
<recording>.cutstext file next to the video, one range per line, which is what the
right-click menu uses and what survives being closed and come back to.shrinkit: mark cuts
opens the video and the sidecar together, so you can read the timestamps off the player while you
type them in.0-0:20 0:32-0:35 1:10-1:12.5 2:30-end0is the start andendis the real length of the clip, so trimming either edge is the same
range as everything else. The cut frames are never written to the output at all, which is the
point if you are cutting a password or a private chat out of a recording rather than just
shortening it.--cutreplaces the sidecar for that run rather than adding to it, the same way
every other flag beats the config file. -
keep_daysdeletes originals from.processed/once they are that many days old. It defaults to
0, which keeps them forever, so nothing changes until you set it. -
A
sharppreset atcrf = 18, for a clip going into a pull request where the reviewer has to
read the diff rather than just see that something moved.
Changed
Five settings are gone. An old settings.conf still loads, they are simply ignored from now on, so
read this list before upgrading rather than after.
-
output_diris gone. Results go tooutput/again. If you had pointed it somewhere else, that is
where your recordings stopped arriving. To send them elsewhere now, replaceoutput/with a
symlink to wherever you want them. -
output_suffixis gone, and output files are named after the preset that ran.clip.movcomes
back asclip-tiny.mp4, or plainclip.mp4when no preset was named. It used to be
clip-2x.mp4, so anything downstream matching that pattern needs a second look. -
trim_idleis gone. It renumbered timestamps against the frame rate the container claims, and
screen recordings lie about that: a ReplayKit capture reports 120 while actually running nearer
32. Measured on a real clip, a filter tuned to drop zero frames still compressed 24.6 seconds
down to 7.8. It had been doing that to every recording since v1.0.0, on top of whatever it
legitimately trimmed. Cutting a stretch out on purpose covers the same ground and does not read a
frame rate from anywhere. -
notify_titleis gone; the banner says shrinkit. -
check_updatesis gone. It ran agit fetchfrom inside the encoder, which is not where a
network call belongs.
Presets are renamed, and there are three of them: 2x for speed, sharp for detail, tiny for
size. default was empty and only held a place in the menu, and chat said where the file was
going rather than what it does. ./update.sh renames your files in place and leaves any preset you
wrote yourself alone, but --preset chat in a script or an alias needs changing to --preset tiny
by hand.
Fixed
- A failed move into place is reported instead of finishing silently and leaving a stray part-file
behind. - A cut range that starts at or past the end of the clip is rejected, instead of encoding a full
length copy and reporting a cut that never happened. - A
.cutssidecar selected in Finder alongside its video is skipped instead of being handed to
ffmpeg as a video. - A locked or unwritable original no longer files its
.cutssidecar away without it. - The warning about a misnamed sidecar no longer fires for an unrelated recording whose name starts
the same way. - Two runs writing the same output name no longer produce an unplayable file. Each encode goes to a
hidden part-file and is renamed into place. fpsis capped at 240, so a typo cannot start an encode that never finishes.- A cut range typed as exactly
6.0-6.1is no longer rejected for being a hair under a tenth of a
second. - The frame rate cap is applied after the speed change on the cuts path too, so
fps = 20with
cuts and 3x speed no longer ships at 60.
Upgrading
./update.shYour recordings carry over untouched, and so does settings.conf. What needs your attention is the
Changed list above: output_dir and output_suffix change where files land and what they are
called, and a renamed preset breaks any script that named the old one.