Java Youtube Downloader

Java Youtube Downloader

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;
}

Let's work together. Let's work together.