Могу ли я получить помощь по этой ошибке, появляющейся в моем проекте Youtube-dl npm

#javascript #html #npm #youtube

#javascript #HTML #npm #YouTube

Вопрос:

У меня возникает эта ошибка, когда я запускаю код для этой программы для загрузки видео с YouTube, используя youtube-dl npm. Я предполагаю, но не уверен, что эта ошибка связана с тем фактом, что я нажимаю кнопку для вызова действия, поэтому он не видит фактическую ссылку. Но я явно не уверен (и я не знаю, как это исправить) Итак, вот мой код и ошибка.

 <input class="inputT" type="text" id="ytLink" />
<button class="checkLinkYb" type="button" onclick="youtubeDL()">
  Télécharger
</button>

<script type="text/javascript">
  var youtubeLink = document.getElementById("ytLink").value;

  function youtubeDL() {
    console.log("Downloading "   document.getElementById("ytLink").value);
    var fs = require("fs");
    var youtubedl = require("youtube-dl");
    var video = youtubedl(youtubeLink, ["--format=18"], { cwd: __dirname });
    video.on("info", function(info) {
      console.log("Download started");
      console.log("filename: "   info._filename);
      console.log("size: "   info.size);
    });
    video.pipe(fs.createWriteStream("myvideo.mp4"));
  }
</script>
  

Вот ошибка, которую я получаю:

 events.js:167 Uncaught Error: Command failed
: F:Python Java CElectronErnestCorpresourcesappnode_modulesyoutube-dlbinyoutube-dl.exe 
--dump-json --format=18 --encoding utf8 -- 
ERROR: '' is not a valid URL. Set --default-search "ytsearch" 
(or run  youtube-dl "ytsearch:" ) to search YouTube

    at ChildProcess.exithandler (child_process.js:299)
    at ChildProcess.emit (events.js:182)
    at maybeClose (internal/child_process.js:962)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:251)  

Комментарии:

1. Сначала вы должны подтвердить, что вы передаете URL, в этом случае вы не передаете никакого URL, отсюда ошибка: ERROR: '' is not a valid URL .

2. Но на самом деле я сожалею, потому что я создал поле ввода под названием «ytLink» здесь: <input class=»inputT» type = «text» id = «ytLink» />. И я называю это как youtubeLink в URL-адресе загрузчика YouTube: var video = youtubedl (youtubeLink, [«—format = 18»], { cwd: __dirname }); // нет?