LosslessCut is the most efficient and free tool for your requirements which comes to my mind.
Your mother would watch the footage and just press I O I O I O ... all the time to set in and out points while watching. One can operate:
either inclusively: Keep everything between all in-out points and export the result.
or exclusively: Throw away ...
What is the point of having no-scenecut when keyint = min-keyint
There is the code in x264 (validate_parameters function):
if( h->param.i_keyint_min == X264_KEYINT_MIN_AUTO )
h->param.i_keyint_min = X264_MIN( h->param.i_keyint_max / 10, (int)fps );
It will disallow equality of the keyint and keyint_min.
I've put together a Python script that will do all of this.
Generates the ffprobe and ffmpeg commands and runs them And outputs a file without black clips
GitHub gist: https://gist.github.com/FarisHijazi/eff7a7979440faa84a63657e085ec504
Use ffprobe to extract black frames and ffmpeg to trim them and ...
ffmpeg has an amazing article on burning the subs into the videos.
I trust ffmpeg to be very careful with (the lack of) quality loss.
Given you are dealing with ASS, here are the important bits,
You can burn text subtitles (hardsubs) with one of two filters: subtitles or ass.
Same as the subtitles filter, except that it doesn’t require libavcodec ...
I suppose that your video is 640×360. Then you may use the crop filter
ffmpeg -i "BTT jump - monk break 10.300.mp4" -vf crop=506:284:134:0 output.mp4
to cut out unused (black) part from the left and the bottom of video.
The cropdetect filter gave a little different values for width, high and x, y coordinates of the upper left corner: