A simple Node.js wrapper for youtube-dl.
- Auto install the latest
youtube-dl
version available. - Executes any command in a efficient way.
- Promise & Stream interface support.
$ npm install youtube-dl-exec --save
const youtubedl = require('youtube-dl-exec')
youtubedl('https://example.com', {
dumpSingleJson: true,
noWarnings: true,
noCallHome: true,
noCheckCertificate: true,
preferFreeFormats: true,
youtubeSkipDashManifest: true,
referer: 'https://example.com'
})
.then(output => console.log(output))
It's equivalent to:
$ youtube-dl https://example.com --dump-json --no-warnings --no-call-home --no-check-certificate --prefer-free-formats --youtube-skip-dash-manifest --referer=https://example.com
Required
Type: string
The URL to target.
Type: object
Any flag supported by youtube-dl
.
Any option provided here will passed to execa#options.
It's the same than the main method but it will return the raw subprocess object:
const youtubedl = require('youtube-dl-exec')
const fs = require('fs')
const subprocess = youtubedl.raw('https://example.com', { dumpSingleJson: true })
console.log(`Running subprocess as ${subprocess.pid}`)
subprocess.stdout.pipe(fs.createWriteStream('stdout.txt'))
subprocess.stderr.pipe(fs.createWriteStream('stderr.txt'))
setTimeout(subprocess.cancel, 30000)
The environment variables are taken into account when you perform a npm install
in a project that contains youtube-dl-exec
dependency.
They setup the download configuration for getting the youtube-dl
binary file.
These variables can be
It determines the remote URL for getting the youtube-dl
binary file.
The default URL is ytdl-org/youtube-dl latest release.
It determines the folder where to put the binary file.
The default folder is bin
.
It determines the binary filename.
The default binary file could be youtube-dl
or youtube-dl.exe
, depending of the YOUTUBE_DL_PLATFORM
value.
It determines the architecture of the machine that will use the youtube-dl
binary.
The default value will computed from process.platform
, being 'unix'
or 'win32'
.
youtube-dl-exec © microlink.io, released under the MIT License.
Authored and maintained by Kiko Beats with help from contributors.
microlink.io · GitHub microlink.io · Twitter @microlinkhq