JavaYoutubeDownloader

github

JavaYoutubeDownloader is a small and simple Youtube stream downloader that allows you to download or use any video on
the platform in a few lines.

Installation #

You can easily install JYD using maven:

<dependencies>
<dependency>
<groupId>io.github.gaeqs</groupId>
<artifactId>JavaYoutubeDownloader</artifactId>
<version>LATEST</version>
</dependency>
</dependencies>

Usage #

Using JYD is very easy! This is an example of a method that downloads a video and saves the option with the best video
quality into a file:

public static boolean download(String url, File folder) {

//Extracts and decodes all streams.
YoutubeVideo video = JavaYoutubeDownloader.decodeOrNull(url,
MultipleDecoderMethod.AND, "html", "embedded");

//Gets the option with the greatest quality that has video and audio.
StreamOption option = video.getStreamOptions().stream()
.filter(target -> target.getType().hasVideo() && target.getType().hasAudio())
.min(Comparator.comparingInt(o -> o.getType().getVideoQuality().ordinal())).orElse(null);

//If there is no option, returns false.
if (option == null) return false;

//Prints the option type.
System.out.println(option.getType());

//Creates the file. folder/title.extension
File file = new File(folder, video.getTitle() + "."
+ option.getType().getContainer().toString().toLowerCase());

//Creates the downloader.
StreamDownloader downloader = new StreamDownloader(option, file, null);

//Runs the downloader.
new Thread(downloader).start();
return true;
}

Demo #