Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add YouTube Music functionality #302

Open
chaosmonk1 opened this issue Jan 20, 2019 · 18 comments
Open

add YouTube Music functionality #302

chaosmonk1 opened this issue Jan 20, 2019 · 18 comments
Labels
enhancement Improvement of an existing feature

Comments

@chaosmonk1
Copy link

YouTube Music (music.youtube.com) allows browsing of music videos by artist and album. Combined with Invidious's audio-only playback feature and the ability to download videos, this functionality could make Invidious a great tool for streaming music.

From what I can gather, each artist page on music.youtube corresponds to a channel on www.youtube called "[name of artist] - Topic",

https://music.youtube.com/channel/UCBfv87kvVXyNi88URZ1zvCA
https://www.youtube.com/channel/UCBfv87kvVXyNi88URZ1zvCA

each album corresponds to a playlist under that channel,

https://music.youtube.com/playlist?list=OLAK5uy_mG7L8RFMqnoG1htkhjMaXVPWY4xWHV_9U
https://www.youtube.com/playlist?list=OLAK5uy_mG7L8RFMqnoG1htkhjMaXVPWY4xWHV_9U

and both the www.youtube and music.youtube pages display related artists, but music.youtube presents a different interface to the information. A "music.invidio.us" counterpart to music.youtube.com could do something similar with the same channels and playlists.

@dimqua
Copy link
Contributor

dimqua commented Jan 20, 2019

Would be nice to have something similar to NoiseQ or Tubeats, both services are intended to stream music from YouTube.

@chaosmonk1
Copy link
Author

It seems that "* - Topic" channels are already identified as auto-generated and handled differently.

src/invidious/channels.cr:

  # Auto-generated channels
  # https://support.google.com/youtube/answer/2579942
  if author.ends_with?(" - Topic") ||
     {"Popular on YouTube", "Music", "Sports", "Gaming"}.includes? author
    auto_generated = true
  end

I don't understand exactly how autogenerated channels are dealt with, but on invidio.us such channels do not appear display any content,

https://invidio.us/channel/UCBfv87kvVXyNi88URZ1zvCA

so perhaps they are just ignored. I'm not at all familiar with Crystal and can't follow the code well enough to see where this happens and how albums and similar artists could be extracted instead.

@omarroth
Copy link
Contributor

Currently genre channels are empty since they themselves don't technically have any videos. I think I mentioned in #183 that they will instead show the contents from the auto-generated playlists associated with the channel.

I personally am not familiar with YouTube Music or the other two services that were linked. What specific functionality would need to be implemented? Currently the only thing mentioned is a similar interface to YouTube Music.

This seems out of scope to me, but I would be happy to be convinced otherwise. There's numerous other projects specifically for this purpose, including the two are linked, so I'm having trouble understanding how this would be integrated with the rest of the project.

@dimqua
Copy link
Contributor

dimqua commented Jan 31, 2019

What specific functionality would need to be implemented?

A possibility to create your own playlists and play them whatever you like, e.g. in shuffle, loop, audio-only modes and/or in background. At least, this is what NewPipe currently provides.

@chaosmonk1
Copy link
Author

What specific functionality would need to be implemented?

  • searching by artist or album
  • “similar artists” recommendations

(I think that these would be useful API calls, regardless of how they are integrated into Invidious’s interface.)

I'm having trouble understanding how this would be integrated with the rest of the project.

YouTube doesn’t really integrate these features into its basic features, but maintains two interfaces: www.youtube.com, which displays channels and videos, and music.youtube.com, which displays artists and albums. The two interfaces share a back-end, but they present a different subset of YouTube’s data and functionality. However, Invidious would not have to do it this way. Invidious’s design is already superior to YouTube’s in many ways, and this could be another. Video content (channels and videos) and music content (artists and albums) could exist alongside each other, with an option to filter one’s search to one or the other.

This seems out of scope to me, but I would be happy to be convinced otherwise.

As a feature of YouTube, it seems within the scope of providing an alternative front-end to YouTube. Admittedly, it’s not one of YouTube’s better-known features, but I think this is a result of their failure to integrate it into the existing YouTube experience. If they (or Invidious) did a better job at this I think it would be very popular.

There's numerous other projects specifically for this purpose, including the two are linked

The two linked appear to be proprietary, and I don't know of any similar projects with their own API like Invidious's. As far as I know, Invidious would be the first project to provide this functionality (1) using only free software and (2) without using YouTube's API.

@omarroth
Copy link
Contributor

omarroth commented Feb 3, 2019

For the sake of completeness, there's also s-kris/rey, which is licensed under the GPL and uses the official YouTube API.

To summarize requested functionality:

If there is something I missed feel free to mention it below. I will likely implement the requested features in the order I listed them.

@dimqua
Copy link
Contributor

dimqua commented Feb 3, 2019

@omarroth currently it's not possible to import/export custom playlists to/from NewPipe. Only the subscriptions list.

@chaosmonk1
Copy link
Author

For the sake of completeness, there's also s-kris/rey, which is licensed under the GPL and uses the official YouTube API.

This does not appear to search by album/artist, or even specifically for music. Non-music videos show up just as in a regular YouTube search. The difference from youtube.com appears to be better playlist management and audio-only playback, but nothing that overlaps with this feature request.

If there is something I missed feel free to mention it below.

The only thing missing is being able to view the "Fans might also like" artists at the bottom of each artists page.

Thanks for considering this feature request.

@omarroth omarroth added the enhancement Improvement of an existing feature label Feb 7, 2019
@Gert-dev
Copy link

Gert-dev commented Mar 2, 2019

Is this also the ticket tracking that none of the - Topic videos currently seem to play on Invidious?

I searched through the tickets, but didn't find any ticket really mentioning that these videos don't actually seem to work at all (which isn't really the same as displaying the channels).

It seems that any video I open from a - Topic channel plays - I always get the "either a network error, mime type is not supported, ..." error for them. Other videos seem to work fine. Am I perhaps missing something I need to enable (on Firefox)? I can create a new ticket if this is a different problem.

@omarroth
Copy link
Contributor

omarroth commented Mar 3, 2019

I'd recommend opening a new issue, you might also take a look at #92 and #151. Would you mind including an example of the channel you're watching from, and a video that is showing the "network error, ...".

@Kezxo
Copy link

Kezxo commented Jan 22, 2020

If there is something I missed feel free to mention it below.

Adding shuffle to existing youtube playlists would be awesome, maybe repeat/loop while we're at it.

@Gert-dev
Copy link

Gert-dev commented Jul 5, 2020

Band or artist pages, sometimes - but apparently not always - named <Artist> - Topic, show their albums as playlists on the playlists page on YouTube. On Invidious, these don't appear to show up. On some "topic" channels, the playlists are just empty.

I think, but am not sure, that this used to work, but it doesn't anymore, perhaps due to YouTube API changes.

Examples:

#183 and/or #1241 may be related.

@GitSuggestions
Copy link

This would help me a lot right now. More precisely, new API endpoints based on how videos are organized in music.youtube.com, e.g. /songs, /albums, /singles, /videos etc.

@ghost
Copy link

ghost commented Apr 2, 2021

Will the songs be separated from the Youtube videos like they are on youtube.com (music.youtube.com)? The standard Youtube essentially has mostly warez audio outside of music videos and some "official audio" -type uploads.

Mixing wouldn't be good.

@aaronsuns
Copy link

looking forward for this feature, also the "next" "previous" button should work when play music in background. it would be very useful when streaming music from phone while it's in pocket.

@SecularSteve
Copy link
Contributor

Is this issue still being actively resolved?

@unixfox
Copy link
Member

unixfox commented Jun 24, 2022

Is this issue still being actively resolved?

Unfortunately no. But feel free to work on it.

1 similar comment
@unixfox
Copy link
Member

unixfox commented Jun 24, 2022

Is this issue still being actively resolved?

Unfortunately no. But feel free to work on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Improvement of an existing feature
Projects
None yet
Development

No branches or pull requests

9 participants