Combines node scripts and adds other scripts from vogon.

This commit is contained in:
2026-09-07 17:20:13 -07:00
parent 5d0ba0ae17
commit 279e5f8aa3
13 changed files with 247 additions and 96 deletions

55
.rc.d/yt-dlp.sh Normal file
View File

@@ -0,0 +1,55 @@
# Define yt-dlp functions with dynamic JavaScript runtime (Node.js) detection
yt-dlp() {
local _cmd="yt-dlp"
if ! command -v yt-dlp >/dev/null 2>&1; then
if [ -x "/opt/homebrew/bin/yt-dlp" ]; then
_cmd="/opt/homebrew/bin/yt-dlp"
elif [ -x "/usr/local/bin/yt-dlp" ]; then
_cmd="/usr/local/bin/yt-dlp"
elif [ -x "$HOME/.local/bin/yt-dlp" ]; then
_cmd="$HOME/.local/bin/yt-dlp"
else
echo "yt-dlp: command not found" >&2
return 127
fi
fi
if command -v node >/dev/null 2>&1; then
command $_cmd --js-runtimes "node:$(command -v node)" "$@"
else
command $_cmd "$@"
fi
}
yt-dlp-best() {
yt-dlp -f "bestvideo[ext=mp4]+bestaudio[ext=m4a]" "$@"
}
yt-dlp-audio-meta() {
yt-dlp \
-f "ba[ext=m4a]/ba" \
-x --audio-format m4a \
--embed-metadata --embed-thumbnail \
"$@"
}
yt-dlp-formats() {
yt-dlp -F "$@"
}
yt-dlp-playlist-audio() {
yt-dlp \
--yes-playlist \
--embed-metadata --embed-thumbnail \
-f "ba[ext=m4a]/ba" \
-o "%(playlist_title,playlist_id)s/%(playlist_index)03d - %(title)s.%(ext)s" \
"$@"
}
yt-dlp-playlist() {
yt-dlp \
--yes-playlist \
--embed-metadata --embed-thumbnail \
-o "%(playlist_title,playlist_id)s/%(playlist_index)03d - %(title)s.%(ext)s" \
"$@"
}