- cross-posted to:
- mac
- cool_github_projects@programming.dev
- cross-posted to:
- mac
- cool_github_projects@programming.dev
cross-posted from: https://lemmy.ml/post/19003650
vt-enc is a bash script that simplifies the process of encoding videos with FFmpeg using Apple’s VideoToolbox framework on macOS. It provides an easy-to-use command-line interface for encoding videos with various options, including codec selection, quality settings, and scaling.
I don’t use VideoToolbox or Mac, so won’t test it. But looking at the script, it looks clean and nice Bash scripting. I like it. Nothing serious but one thing I would suggest is for just a little bit easier and cleaner look in the code, to use cat with EOF for the help, like in one of my scripts:
help_options() { cat %%EOF options: -h show help and exit -H show all options, notes and exit -m HEIGHT max height ... (and more) EOF }
Edit: I forgot that beehaw does not like the character for
<
and will destroy everything. So I changed them to%%
, just replace it with the less than character, the opposite of>
.Another Edit: In your build sh script, I like you hardcode
rm -rf ffmpeg_vt
, and don’t use a variable for. And also checking if its a directory and exit if it can’t cd intocd ffmpeg_vt/ || exit 1
. Well done.Thanks for the helpful advice! Shellcheck is the best :)
Edit: How do I get the ANSI escape colors to appear with the cat << EOF syntax?
Within cat EOF syntax you can just use variables and commands as well. Just tested it and I see the problem here. The EOF syntax will not interpret the backslash and print them literally. So those variables would require to be interpreted with echo -e first. I never used colors in this syntax before. It’s up to you which syntax you prefer, some people still like the series of echos over cat EOF.
BOLD='\033[1m' RESET='\033[0m' BOLD=$(echo -e "${BOLD}") RESET=$(echo -e "${RESET}") help_options() { cat %%EOF options: -h ${BOLD}show help and exit${RESET} $(date "+%Y-%m-%d") EOF } help_options