ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132k stars 10.01k forks source link

youtube-dl modify output template "%%(artist)s" behaviour #29641

Open benggc opened 3 years ago

benggc commented 3 years ago

Checklist

Question

Hello dear community. I wanted to ask the following question: How to modify the behaviour of the output template "%%(artist)s".

The intended way it works is following (afaik): extract all artists of the song, which in my case when I would like to use the following output syntax: "--output "X:/MUSIC/%%(artist)s %%(album)s %%(release_year)/%%(playlist_index)s %%(artist)s %%(track)s.%%(ext)s"" creates multiple folders depending on the featuring track artists. The same thing happens if there are mutiple songs from multiple different years, for each year new directory is created. I tried to use other tags like %%(creator)s or %%(album_artist)s but it doesnt work. The best possible result I would like to achieve is to extract the following information ( pic related ): image Main artist + album release year. Would it be possible to implement %%(album_release_year)s option and %%(main_album_artist)s output tag? Maybe there is a option like this but I didn't read the documentation well enough....🙄.

Thanks upfront to anyone who will put any effort to reply to this thread. Greetings.

p.s When trying to use --write-info-json it shows multiple artists as "artist" but on the album website it only shows the main artist. 🙄

dirkf commented 3 years ago

On the one hand you could actually buy the music and hope that the publishers have managed to include the metadata as you wish, but that might be a vain hope.

As no-one else is being paid to organise the metadata you will have to do it yourself.

A possible strategy for tagging media files would be to start with some reasonably reliable online discography or videography site to generate the metadata, try to match each media playlist or item metadata set to a media playlist or item in your collection, and then apply that set to the matched playlist/item. yt-dl can only give you whatever is recorded in the site from which the media was archived.

benggc commented 3 years ago

Ok so you assumed that I don't let the artist earn their money? - Wrong. The case is simple : i provide plenty of traffic to spot and ytmusik from many different devices on a daily basis( and yes paid subscriptions) so they get their cash, the problem starts when I want to use the music on a simple device like sandisk clip sport which sadly isn't capable to be used with drm. Being connected 24/7 isn't healthy for anyone... And isn't it better for the globe to playback the file offline rather than pump the data everytime throught the pipes? You just assumed that I have a hook on my left hand, the mentality that streaming services changed........ //END OF OFFTOPIC

Like I said before, thanks to anyone for any contribution to this thread.

dirkf commented 3 years ago

Whatever anyone might have thought, you've confirmed my suspicion that paid sources aren't necessarily reliable, and good luck with getting the supplier to fix its metadata (so the music industry was the target of my point, really). My point still applies that organising metadata (to one's taste) is one's own responsibility.

Still yt-dl might have helped more. What you wanted might have worked with album_artist, but

But I think the latter is misleading as extractor/common.py then goes on to give "Various Artists" as an example, which is surely what you would be looking for from a compilation. Other tagging implementations distinguish a field for the artist name that would have been on the edge of the CD or LP, vs the artist name for each track. Shouldn't album_artist fill that role?

If so, we should consider actual page URLs to see whether the YT extractor might be persuaded to provide a useful album_artist (you mentioned one case but not the details).