Comments (6)
@naushad3210 I don't have spare time to implement this feature, probably for next few weeks. But PRs are welcomed
from java-youtube-downloader.
Hello,
I found 2 options, both use the window["ytInitialData"]
JSON section.
(Document and JSON sizes from an actual test suggested by @naushad3210)
- 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[]
- 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.
@mohammadnaushad what exactly do you mean by "playlist support"?
from java-youtube-downloader.
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.
@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.
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)
- How to Know The Size Of Video ? HOT 2
- response.data() returns null HOT 12
- Format.contentLength() returns null HOT 6
- Download completed immediately without having the full video HOT 5
- i have implement with your doc, using async..why cant get more info about video? HOT 2
- It seems like maven artifacts are gone causing dependency issues. HOT 2
- NumberFormatException HOT 3
- streamingData not found HOT 11
- Downloading files is too slow and sometimes fails. HOT 7
- some time can not get video info
- The downloader returns a null response. HOT 4
- No subtitles anymore HOT 3
- Missing formats HOT 5
- Not working anymore HOT 1
- Can not download video at any ratio.
- Playlist detail problem HOT 3
- not working anymore HOT 2
- Option to name video files when downloading HOT 1
- tiktok support
- Some weird console outputs while requesting video info HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from java-youtube-downloader.