this post was submitted on 10 Aug 2024
18 points (100.0% liked)

Programming

17364 readers
182 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] thingsiplay@beehaw.org 3 points 3 months ago* (last edited 3 months ago) (2 children)

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.

[–] gianni@lemmy.ml 2 points 3 months ago* (last edited 3 months ago) (1 children)

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?

[–] thingsiplay@beehaw.org 1 points 3 months ago* (last edited 3 months ago)

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