@corollarium/youtubedl-wrapper
v1.0.9
Published
Youtube-dl wrapper for nodejs
Downloads
17
Readme
youtubedl-wrapper
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, defaultnull
)
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
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
url
stringoptions
any
thumbnail
Fetches a video thumbnail
Parameters
getExtractors
Gets the list of extractors
Returns Promise with an array
License
MIT