I’ve had this concept in my head for a while, I’m kind of amazed it doesn’t exist yet.
I want to send a link to a music track to an app on my server, probably yt, maybe Spotify, and have that track be archived on my server, with the metadata from the service, preferably in a place Jellyfin can get at it.
There’s a few ways to do that with YT playlist links, but not with adhoc requests for individual tracks, as far as I can see.
Is this not something that exists? I’m thinking it might not be too hard to write, if it doesn’t.


yt-dlp can handle YouTube Music Links. Just tell it with
-x --audio-format mp3, that you don’t want the Video, but an mp3 (opus can’t be tagged). I use it to obtail whole artists, then I tag them with MusicBrainz Picard. I’m sure there is a way to automate this. yt-dlp has also a Python library. However I haven’t used it for now.An absolutely ancient tool I used to use was WinAmp (v2.x) with the Streamripper plugin. It would save out each song from a shoutcast or icecast station to a file with the artist/album/title/track like a champ. Maybe not quite what you want (won’t do youtube) but there are a ton of great indie stations on the vorbis icecast network…
That’s a cool approach! Reminds me of the old Napster 🤓
I’m pretty sure that it supports tagging.
goes to try it out
If you mean that this MusicBrainz Picard thing doesn’t support tagging Opus, it sounds like it does:
https://community.metabrainz.org/t/musicbrainz-picard-doesnt-support-opus-files/467209
And looking at the output of
yt-dlp -x, it looks like it’s Opus in an Ogg container:EDIT: Note that my
~/.config/yt-dlp/configfile is:It may be that one needs
--embed-metadataon theyt-dlpcommand-line if one isn’t setting it in theiryt-dlpconfig file to get the above tags; it might be that none normally get set.Awesome! I just learned something today. Thanks for pointing it out so detailed!