/ffmpeg_squish

Just my wrapper script for calling ffmpeg to make very minimal sized videos for my kid's tablet

Primary LanguageShell

This is a wrapper script to keep track of my ffmpeg settings I use to transcode videos to be as small as possible for use with my kid's tablet.

General Use

Once added to your PATH, use ffmpeg_squish like:
ffmpeg_squish input_filename.avi output_filename.mp4
The result output file will be as small reaonsably possible for use with smallish tablets.

Note that the file extensions are interpreted by FFMPEG and used. So in the above example, FFMPEG will automatically transcode the container format from AVI to MP4.


General Setup

bash/zsh Users

To add ffmpeg_squish to your path, edit your ~/.bash_profile to update the PATH to include the path to where your copy of ffmpeg_squish is located, for example:
...
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}:/Users/my_username/opt/ffmpeg_squish/bash"
...

zsh users (such a more recent macOS users) can get it in their path by updating their ~/.zshrc file with a line like:

export PATH="/opt/homebrew/opt/openjdk/bin:/Users/myusername/git/ffmpeg_squish/bash:$PATH"

Slack Notifications Setup

To use slack with ffmpeg_squish, you must set the "FFMPEG_SQUISH_WEBHOOK" environment variable.

bash users

For bash users, update your ~/.bash_profile to define FFMPGE_SQUISH_WEBHOOK like:
FFMPEG_SQUISH_WEBHOOK="https://hooks.slack.com/services/........"
export FFMPEG_SQUISH_WEBHOOK