Как внедрить youtube-dl в код Java - PullRequest
0 голосов
/ 21 апреля 2020

Как часть моей программы, я загружаю видео с YouTube (или, желательно, аудио), чтобы использовать аудио в качестве mp3. Я сам посмотрел на написание кода, но потом увидел YouTube-dl и подумал, что я буду запускать его как часть программы, используя Runtime. Это все работает. Тем не менее, моя проблема заключается в установке YouTube-DL, если он не в настоящее время на компьютере с помощью программы. Я попытался выполнить команды, которые обычно используются, но это не похоже на работу. Любые идеи? С другой стороны, кто-нибудь может объяснить, почему нельзя использовать простой буфер streamstreaminput / filestreamoutput? Я написал их для загрузки PDF-файлов, которые находятся в сети, и я предполагаю, что это связано с более безопасной системой YouTube, но мне просто интересно узнать почему.

Мой код:

publi c Boolean ServiceYouTubeDdl {

public void runCommand() throws IOException {
    activateCommand("sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl");
    activateCommand("sudo chmod a+x /usr/local/bin/youtube-dl");
    activateCommand("hash -r");

return true}

public String activateCommand(String cmd) throws IOException {
    java.util.Scanner s = new java.util.Scanner(Runtime.getRuntime().exec(cmd).getInputStream()).useDelimiter("\\A");
    return s.hasNext() ? s.next() : "";
}
}

PS возвращает логическое значение для тестирования JUnit.

...