1.0.9 • Published 4 years ago

@corollarium/youtubedl-wrapper v1.0.9

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

youtubedl-wrapper

Build StatusNPMnode-currentnpm (scoped)

This is a NodeJS wrapper for youtube-dl.

There's an alternative package node-youtube-dl. The main differences is that youtubedl-wrapper uses promises/async and downloads video through youtube-dl itself.

Quickstart

Download video:

const y = new youtubedl.Youtubedl();
const video = "https://www.youtube.com/watch?v=90AiXO1pAiA";
const download = await y.download(video, "mydirectory", ["-f", "best"]);

download.on("download", data => {
  console.log(
    `${data.progress}% downloaded, ETA ${data.ETA}, speed ${data.speed}${data.speedUnit}, downloaded bytes ${data.downloaded}${data.downloadedUnit}`
  );
});

download.on("end", data => {
  if (!data.status) {
    console.log("Download failed");
  } else {
    console.log("Data downloaded to: " + data.filename);
  }
});

Get the video information:

const video = "https://www.youtube.com/watch?v=90AiXO1pAiA";
const data = await y.info(video);

Get a thumbnail:

const video = "https://www.youtube.com/watch?v=90AiXO1pAiA";
const data = await y.thumbnail(video, path.join(__dirname, "thumbnail.jpg"));

Downloading youtube-dl

Either call scripts/download.js or to download it directly in your code:

const { downloader } = require("@corollarium/youtubedl-wrapper");
try {
  const platform = "linux"; // or "windows"
  await downloader("/path/to/download", true, platform);
} catch (err) {
  console.error("Download error: ", err);
}

If you download to your own path, init the class with it:

const y = new youtubedl.Youtubedl("/my/path/youtube-dl");

API

Table of Contents

Youtubedl

The Youtubedl class

Parameters

  • binary string The youtube-dl executable path. Defaults to {this package}/bin/youtube-dl (optional, default null)

setBinary

Set binary path for youtube-dl

Parameters
  • path string The full binary file path

getBinary

Get binary path for youtube-dl

Returns string The full binary file path

download

Downloads a video

Parameters
  • url string
  • directory string
  • args Array Extra arguments for youtube-dl (optional, default [])

Returns Emitter An Emitter object. Emits:- "download", {progress, speed, speedUnit, downloaded, downloadedUnit, ETA}

  • "convert", {}
  • "end" { status, code}

getVersion

Returns the current youtube-dl executable version

Returns Promise<string> promise with the version

info

Gets video info

Parameters

thumbnail

Fetches a video thumbnail

Parameters
  • url string The video url
  • filename string The local filename to save the thumbnail

getExtractors

Gets the list of extractors

Returns Promise with an array

License

MIT

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.3

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago

0.1.4

4 years ago