Package: ytbdl
ytbdl: Music Downloader and TaggerCombines the power ofyt-dlpandbeetsto download music from the internet and automatically tag it.This application is targeted at those who are already familiar with youtube-dl and beets. This app will work out of the box, but is great for those who want ultimate customization of the beets configuration used to tag the music, and to supply custom arguments to yt-dlp.Note that this application only supports Python 3.6+.InstallationInstall the ytbdl tool with pip:pipinstallytbdlOr, download or clone theytbdl GitHub repositoryand install it with pip:cdytbdl
pipinstall-e.UsageBefore using ytbdl for this first time, you need to create a configuration file. To do so, run:ytbdlconfigcreateThen, to download an album (by an artist) from a playlist athttps://youtube.com/some_playlist:ytbdlget'Artist''Album''https://youtube.com/some_playlist'You can controlytbdlwith the config file, or using command line arguments.Changing yt-dlp's BehaviourYou may change how yt-dlp behaves by specifying arguments on the command line, or by adding arguments to the configuration file.Click here for a list of yt-dlp options.To pass options toyt-dlpfrom the command line, use the--ytdl-argsoption:ytbdlget--ytdl-args"-f bestaudio[ext=m4a] --reject-title 'music mix 2021' --geo-bypass"...You can also specify arguments by editing theytdl_argssetting in the config file. To get the path to your config file, runytbdl config path. Theytdl_argssetting can be edited like so:ytdl_args:--f-bestaudio[ext=m4a]---geo-bypassUseytdl_argsin the config file for settings you want to use all the time. Use--ytdl-argson the command line for settings that may change between downloads.Changing beets' BehaviourYou can modify beets' behaviour by editing ytbdl's config. ytbdl's config fileisa beets config file, so edit it as you would a beets config file.Click here for a list of beets configuration options.To edit ytbdl's config, set an editor in the config file. First, open the configuration to edit it:# If you like vim!vim$(ytbdlconfigpath)# If you're on Windows and like notepad!notepad$(ytbdlconfigpath)Add aneditorto the YAML configuration:editor:vimytbdlwill read this option and allow you to edit the configuration with that editor using theeditcommand:ytbdlconfigeditFor example, maybe you want to add thezeroplugin. Simply add it to the list of plugins:plugins:# DO NOT REMOVE-fromdirname# DO NOT REMOVE-fromyoutubetitle# DO NOT REMOVE-fetchart-embedart-zero# <-- Just added!# Options for zerozero:fields:day month genreMake sure not to remove any lines that say "DO NOT REMOVE" or you will encounter issues!Configuration Notesytbdl exposes a configuration file that can be used to control the behaviour of beets during the auto-tag process. This configuration fileisa beets config file, and "overwrites" your beets config when ytbdl calls beets. All of the configuration options you'd use with beets can be used in the ytbdl configuration. If you already have a beets config, it will not be modified, but the options specified in the ytbdl configuration have higher priority and will take precedence over any existing options.The only two option that ytbdl exposes that aren't beets config options are theeditorandytdl_argsoptions. For a list of beets' options, view thebeets documentation.For a list of yt-dlp options, view theyt-dlp documentation. Note that the--outputand--extract-audiooptions are used by default (and can't be turned off). Any attempt at re-specifying these options will result in an error.Updating yt-dlpyt-dlp is frequently updated. If you find that downloads aren't working, try updating yt-dlp.pipinstall--upgradeyt-dlp