algorithmically-enhanced yt-dlp (youtube-dl) wrapper for audio-downloads https://dym.sh/y/
Go to file
Dym Sohin 751dbdbc6a added deafault config 2024-06-10 08:41:30 +02:00
LICENSE Initial commit 2023-06-23 19:54:52 +02:00
config.sh added deafault config 2024-06-10 08:41:30 +02:00
install.sh __ 20230806@230247 2023-08-06 23:02:47 +02:00
meta.kdl nixos compat 2023-08-06 22:01:08 +02:00
readme.md nixos compat 2023-08-06 22:01:08 +02:00
y.sh always truncate output filenames 2024-04-24 17:58:40 +02:00

readme.md

y

algorithmically-enhanced yt-dlp (youtube-dl) wrapper for audio-downloads

install

  1. look at install.sh file for instructions
  2. adjust PREFIX at wish
  3. make sure the final directory is on $PATH

use

y https://orax.bandcamp.com/track/ectoplasmic

(adjust config.sh file to set your prefered download paths)

requirments

  • yt-dlp the main thing
  • ffmpeg to convert files of diffrent formats
  • sd a better sed
  • lynx to easily scrap web-pages

site-specific improvements

bandcamp

  1. prefers mp3-320 (checks every track)
  2. downloads entire discography if given root-domain or /music url

twitter

file-name is now twitter-username and tweet-id (instead of full text of a tweet, which can result in strings over 255 characters long, aborting the entire process)

reddit

file-name is now subreddit, post-id, and url-slug (instead of full text of a title, which can result in strings over 255 characters long, aborting the entire process)

youtube

allows to set several predetermined filesystem-paths to keep file-categories separately:

  • y m <youtube_URL> music (automatically chosen for music.youtube.com)
  • y a <youtube_URL> audiobooks

soundcloud

  1. occasional wav-files are converted to mp3 320kb/s
  2. artist is set based on url (instead of having none by default)

instagram

  • file-name is now username, video id, and nubmer of the video if there are multiple (instead of "Video by username", which refuses to download multiple videos from different id's: "Video by username.mp4 has already been downloaded")
  • TODO: explose playlist's %(uploader_id)s, nr_current, nr_total to the naming api