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 into cd ffmpeg_vt/ || exit 1 . Well done.
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.
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. Inside the EOF lines you can also use variables and even execute code with $(echo text). An example: