Kelly's Toolbox

Video conversion helpers, registry tweaks, installers, and scripts in one place.

Windows Registry Tweaks
Installers
Video Conversion Tools for Windows 8 files
These are the Windows Batch / Command Line video tools I used daily until I jumped to Linux on my PC.

Everything in this folder will depend on FFmpeg.exe and FFprobe.exe.

Most of these tools will need to be run at the Command Line, but some support dropping files onto them.

AutoMTS5.exe
This is my premier conversion utility. It has massive amounts of error checking built in, and can detect whether or not repairs need to be done to the video files, with respect to varying resolutions, audio bitrates, etc, before being joined together. Allows you to repair sets of videos that vary in specification across the files.

This is a 2-part tool - it expects Automini.bat to be in the folder.

Automini.bat
This is the batch processing side of AutoMTS5.exe.
kh_make_MP4.bat
You can drag and drop multiple video files onto this batch file, and it will prompt you with a series of questions to make the output videos you want. Choose between x265/HEVC and x265/AVC, popular resolutions, CRF18 or SameQ, etc.

And despite its name, the can actually make MP3 and MPEG1 files too.

Best of all, these choices can be set with smaller simpler batch files (ie, for a particular client's format) that will call kh_make_MP4.bat, and you don't have to answer anything. For example, MP4_720p.bat , MP4_1080p.bat and MKV_noscale.bat.

kh_repair.bat
You can do quite a few different repairs with this tool. Drop a file on it in Explorer, and do trims, splits, make MP3 or MPEG1, and even replace the name at the bottom of a Zoom recording! (That part might take some position/size tweaking and testing to get perfect, depending on the individual recording.)
mergeconvert2.bat
This tool lets you drop a set of files onto it, and you can pick multiple things to make in one pass. Choices like MP4 in 720p or 1080p, x265, MP3. I use this for my own jobs frequently, because I know the videos are all identical specs, so I don't need the superior inspection/error detection features of AutoMTS5 for my own work.

Tip: click the Mp4 button twice to toggle from 720p to 1080p

kh_concat.bat
Concat files together. Will use FFmpeg concat method for files that need it (MP4, MKV, MOV) but can binary merge for formats that support it (MTS, MPEG1, VOB)
kh_split.bat
Divides a video at a specific time location. ie, kh_split bigvideo.mp4 1:30 part1 part2 will break bigvideo into part1.mp4 and part2.mp4 at the 1h30m mark. Note the names at the end don't need an extension, since they'll use the extension of the source video.
kh_trim.bat
Removes and deletes the tail end of a video, starting at the specified time location. ie, kh_trim bigvideo.mp4 1:30 will delete all the video after the 1h30m mark.
Video Conversion Tools for Linux 15 files
These are the Linux tools I use daily.

To make development easier and give the tools a similar look and feel, I made common blocks of code that are shared between programs. This lets me add new features or improvements across all the tools, but I only have to write it once. One example you're likely to notice is the file picker, which shows the videos found in the folder, and lets you disable any files you don't want processing applied to. The file picker is used for most converters and even for building a list of videos to concat together.

The downside to this technique is that there are support files that have to be copied into video folders for everything to work. Those are labled with the CORE flag below.
YOU SHOULD GET ALL THE CORE FILES TO MAKE ALL THE MAKE_xxx TOOLS WORK!!! (and concat)

videoinfo.sh
Shows resolution, aspect, audio info for all the video files in the folder. Use this before concat to see if files are ok to merge.
fixnames.sh
Fix file names. Renames multiple files such as NJAFLM_S001_S001_T001.MOV to "Witness 1.MOV", "Witness 2.MOV", etc. Checks for MKV, MP4, and MOV sets to be renamed, and prompts the user for a witness name to use as the base of the filenames. Confirms each video rename with a Y/N prompt. Additionally, looks for img00?.pdf and renames it to Paperwork.pdf without asking.
concat.sh
Concatenate videos together. Uses FFMpeg. Uses the file picker to turn off any files you accidentally left in the folder.
fancymerge.sh
Like concat.sh, but improved! Lets you group files, name each group. Guesses group names based on previous groups, etc. One note: MOVs trigger a rename-only mode so you don't wipe out all your SSD space.
make_MP4.sh
This is the source of all the make_xxx tools below. It handles all conversions with a single codebase, and merely picks ffmpeg parameters and output filenames for MKV and MPEG1 also, based on the name of the script. Uses a file picker to build the list, then you can pick Resolution and Quality settings before launch (unless it's MPEG1). I also incorporated Nofifications to the OS, as well as spoken status updates, so you can hear progress without looking at your screen.
make_MKV.sh
Tiny 2 line script that calls make_MP4.sh, but triggers the MKV behavior by its name. Makes MKV files in h.265/HEVC format.
make_MPEG1.sh
Another tiny 2 line script to make MPEG-1 videos. Since I only have one client that needs this, it's hardwired to 480p 1800k per his needs, but changing that is simple around line 273 in make_MP4.sh.
make_MP3.sh
Generate MP3 files, 48k sample rate, 96kbit quality (set in line 7). Looks for Mp4,Mkv,MOV files. Uses file picker to let you choose which to convert.
kh_split.sh
Terminal App - must be run in terminal 
Split video files. Run in terminal with no files passed in to see syntax, but there are two undocumented parameters that allow you to name the pieces. Pass "Part1" and "Part2" in as last parameters, and your split pieces will have those filenames with whatever extension the original file had. (ie, Part1.mp4 and Part2.mp4).
Example: ./kh_split.sh Bigvideo.mp4 1:13:07 part1 part2 (divides BigVideo.mp4 at 1h13m07s into part1.mp4 and part2.mp4)
DND.sh
Toggles a DND flag file on and off to tell the tools that you want bell ding sounds rather than spoken announcements during conversions.
launch_terminal.sh
CORE  Allows all the tools to be launched with double-clicks by relaunching the window as a visible terminal window. Contains commented-out code to launch a terminal with a random profile.
launch_random_terminal.sh
CORE  Same as launch_terminal.sh, except the code to pick a random profile terminal is enabled.
load_video_files.sh
CORE  Finds all the video files in the current directory and loads arrays needed for all tools to work on batches and use the file picker.
pick_conversions.sh
CORE  The file picker code.
pick_rez_quality.sh
CORE  Tiny little chunk that lets you pick Resolutions and Quality, then continue.