Coder Social home page Coder Social logo

Comments (6)

sealedtx avatar sealedtx commented on August 22, 2024 2

@naushad3210 I don't have spare time to implement this feature, probably for next few weeks. But PRs are welcomed

from java-youtube-downloader.

Grodou avatar Grodou commented on August 22, 2024 1

Hello,

I found 2 options, both use the window["ytInitialData"] JSON section.
(Document and JSON sizes from an actual test suggested by @naushad3210)

  1. Use the watch page
  • https://www.youtube.com/watch?v=<video_id>&list=<playlist_id>
  • Document size: 566.12 ko
  • JSON size: 310.8 ko
  • 5 steps hierarchy contents.twoColumnWatchNextResults.playlist.playlist.contents[]
  1. Use the playlist page
  • https://www.youtube.com/playlist?list=<playlist_id>
  • Document size: 161.35 ko
  • JSON size: 71.1 ko
  • 14 steps hierarchy contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.content.sectionListRenderer.contents[0].itemSectionRenderer.contents[0].playlistVideoListRenderer.contents[]

Once the final "contents" elements are available, each video data can be retrieved via playlistPanelVideoRenderer:

  • id: videoId
  • title: title.simpleText
  • duration: lengthSeconds

I think 2. is the best approach for a getPlaylist(String id) method that returns a basic video list and let the user choose.
Let me know if it's OK, I'll try to get back with a PR.

from java-youtube-downloader.

sealedtx avatar sealedtx commented on August 22, 2024

@mohammadnaushad what exactly do you mean by "playlist support"?

from java-youtube-downloader.

naushad3210 avatar naushad3210 commented on August 22, 2024

It means .. if someone passes a url which belongs to a playlist like https://youtu.be/HdGp3-R6LEc?list=PLFRPNUj0az6RFv9HH7UgLIAGmXSfQXHxH
He should be able to download the video or should be able to fetch all the video details in the playlist. Like all the video links in that playlist so that one can then send the link to download the video

from java-youtube-downloader.

sealedtx avatar sealedtx commented on August 22, 2024

@Grodou Great, thank you for your research. I believe second approach is more suitable (as it is parsed from playlist page) despite its deep hierarchy. This implementation could be usefull, have a look. Will be glad to see your PR.

from java-youtube-downloader.

Grodou avatar Grodou commented on August 22, 2024

Thanks for the suggestion, I actually made a first version based on this implementation.
It works fine (get playlist details, get all videos), but does not have any "download" functionality yet.
I'll make a PR (so you can tell if everything's fine or not), and complete it later.

from java-youtube-downloader.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.