python3 ffmpeg wrapper intended for personal use.
- Think
- Base script
- Ask user the codec, preset and crf.
- Check input files existance and read permission.
- Ask user output directory.
- Create the output directory if it doesn't exists (error if cannot write).
- Check if output files already exists, and ask the user to overwrite or not (check write permission).
- Normalize input files and output directory path.
- Mantain sub-directory tree of the output files.
- Execute ffmpeg and check return code, if failed save failed filenames and logs and report it later.
- Add --use-defaults argument.
- Check if ffmpeg is installed.
- Log everything.
- Comment everything.
- Colors.
- Time how much time each file has taken.
- Check if output file is smaller, and if it is by how much.
- Makefile to install the script.
- Telegram notification when rendering has been finished.
- Option to automatically delete files smaller than the original.
- Option to automatically replace original files.
- f-strings containing strings before python version 12 are problematic.
- './' output directory will be normalized to '', giving an error.
- only one audio track is kept in the output file