dotfiles/.local/scripts/playlist-dl.bash

34 lines
876 B
Bash
Raw Normal View History

2025-12-29 23:40:17 +01:00
#!/usr/bin/env bash
url=$1
album=$(yt-dlp -I 1:1 --skip-download --print "%(album)s" ${url})
artist=$(yt-dlp -I 1:1 --skip-download --print "%(artists.0,artist)s" ${url})
2026-01-07 13:56:52 +01:00
date=$(yt-dlp -I 1:1 --skip-download --print "%(release_date,upload_date)s" ${url})
2025-12-29 23:40:17 +01:00
folder="${artist} - ${album}"
2026-01-07 13:56:52 +01:00
mkdir $folder
2025-12-29 23:40:17 +01:00
yt-dlp \
2026-01-07 13:56:52 +01:00
--parse-metadata "playlist_index:%(track_number)s" \
--parse-metadata "%(artists.0,artist)s:%(meta_artist)s" \
--parse-metadata "${date}:%(meta_date)s" \
2025-12-29 23:40:17 +01:00
--embed-metadata \
--extract-audio --audio-format opus \
-o "${folder}/%(playlist_index)s - %(title)s.%(ext)s" ${url}
yt-dlp -I 1:0 --write-thumbnail -o "${folder}/cover.jpg" ${url}
cd "${folder}"
for file in *.opus; do
ffmpeg \
-hide_banner \
-i "${file}" -i "cover.jpg" \
-map_metadata 0:s:a:0 -disposition attached_pic \
-c:a copy "0${file}"
rm "$file"
mv "0${file}" "${file#"0"}"
done