Sorry I was going to have a “demo” version and have my own playlists as a demo, but I ultimately decided against it since Spotify is cracking down on free tier stuff and I wasn’t sure what it did. But basically it logs into your account and I use the Spotify API to pull your playlist metadata and populate the screen with your playlists, and then when you want to play a song it searches the YouTube api for that artist/song music video. You can check out the source code, it’s only readonly stuff. I can make a video when I get the time if it’s the major factor against logging in, I completely understand!
Ugh apparently the account on my phone and the account on my computer where different so I commented twice not thinking the first one submitted. Sorry for the duplicate-esque response.
Wish this could filter to videos that actually are music videos instead of just audio track + album cover. Perhaps it would be possible to make an educated guess by looking at the video file size. As it stands, less than 10% of my tracks actually end up displaying a proper video.
So I’ve gone down so many rabbit holes for this and ultimately it’s tough as shit. The main thing I’m thinking at this point is just starting my own caching database using fire base and mapping the proper YouTube video id to Artist->Song. Then that way I would know id have the correct music video for that song. The only problem there is it would require a bunch of manual verification and stuff. If anyone has a better idea on how to do this I’d love the help! At the end of the day this is just a cool little open source side project for people who love music videos! Thanks for the reply
So I’ve actually been trying to brainstorm this for awhile. It’s really tough because I can’t programmatically validate the videos. Right now I was thinking of some kind of caching to keep a fire base of the correct music videos, and then having a pop up for the user to give feedback on whether or not the video I displayed for them is a music video or just music+album cover, and then have them be able to link the correct music video or submit a ticket and I could manually update that video in a database. Not 100% sure yet but I’m working on it
I had a similar problem previously and considered automating it by comparing frames. It's not easy and would have obvious false positives/negatives, but YouTube does help by publishing key frames and it could at least be used to help rank results.
I commented on your parent post before reading this...
Nice catch on the thumbnails that YouTube already captures. A histogram comparison between the second and third auto-generated thumbnails from the lyrics video was mostly equivalent when I ran one. That would be a good sign that it's not the actual music video.
1. It's not like all (or even most) music videos have faces in them.
2. I'm pretty sure it's not trivial to download just three specific frames of a video. And downloading so many videos would probably be expensive/bannable.
Oh that’s pretty sick! I just checked it out on my phone, I’ll look at it when I get home on my computer. Checkout the source code for mine too, maybe we could collaborate on something bigger!
25 comments
[ 2.7 ms ] story [ 75.4 ms ] threadTake this example music video:
https://www.youtube.com/watch?v=6vopR3ys8Kw
Frames:
https://img.youtube.com/vi/6vopR3ys8Kw/0.jpg
https://img.youtube.com/vi/6vopR3ys8Kw/1.jpg
https://img.youtube.com/vi/6vopR3ys8Kw/2.jpg
https://img.youtube.com/vi/6vopR3ys8Kw/3.jpg
And this lyrics video version (more interesting because it's SOMEWHAT changing):
https://www.youtube.com/watch?v=FoAqHxm5dpo
Frames:
https://img.youtube.com/vi/FoAqHxm5dpo/0.jpg
https://img.youtube.com/vi/FoAqHxm5dpo/1.jpg
https://img.youtube.com/vi/FoAqHxm5dpo/2.jpg
https://img.youtube.com/vi/FoAqHxm5dpo/3.jpg
Simply finding the differences between frames would give the first video a higher score than the second.
Nice catch on the thumbnails that YouTube already captures. A histogram comparison between the second and third auto-generated thumbnails from the lyrics video was mostly equivalent when I ran one. That would be a good sign that it's not the actual music video.
Perhaps, on top of that, a histogram comparison of the same frames, which should capture if the video is pretty much lyrics on a static background.
2. I'm pretty sure it's not trivial to download just three specific frames of a video. And downloading so many videos would probably be expensive/bannable.