Package Exports
- @distube/youtube-dl
- @distube/youtube-dl/src/download
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@distube/youtube-dl) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
A simple Node.js wrapper for youtube-dl. Customized for DisTube.js.org
Why
- Auto install the latest
youtube-dlversion available. - Executes any command in a efficient way.
- Promise & Stream interface support.
Install
$ npm install @distube/youtube-dl --saveUsage
const youtubedl = require('@distube/youtube-dl')
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.comAPI
youtubedl(url, [flags], [options])
url
Required
Type: string
The URL to target.
flags
Type: object
Any flag supported by youtube-dl.
options
Any option provided here will passed to execa#options.
youtubedl.raw(url, [flags], [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)Environment variables
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
YOUTUBE_DL_HOST
It determines the remote URL for getting the youtube-dl binary file.
The default URL is ytdl-org/youtube-dl latest release.
YOUTUBE_DL_DIR
It determines the folder where to put the binary file.
The default folder is bin.
YOUTUBE_DL_FILENAME
It determines the binary filename.
The default binary file could be youtube-dl or youtube-dl.exe, depending of the YOUTUBE_DL_PLATFORM value.
YOUTUBE_DL_PLATFORM
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'.
Original License
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