JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 30
  • Score
    100M100P100Q27895F
  • License MIT

YouTube Audio Downloader

Package Exports

  • node-youtube-audio
  • node-youtube-audio/lib/index.js

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 (node-youtube-audio) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

YouTube Audio Downloader

node-youtube-audio v1.0.0

Note

To use this library you must install FFmpeg. See here for how to install FFmpeg on multiple operating systems or have a look at the FFmpeg documentation

Installing

# using yarn
yarn add node-youtube-audio@latest

# using npm
npm i node-youtube-audio@latest

Example Usage

Example 1.

// TypeScript
// import DownloadAudio from "node-youtube-audio";
const DownloadAudio = require("node-youtube-audio");

const url = "https://youtu.be/_X56_Ys3xUM";

new DownloadAudio(url)
        .codec("flac")
        .outputDirectory("path/to/your/folder")
        .fileExtension("flac")
        .execute()
        .then(console.log)
        .catch(console.log);

Example 2.

const DownloadAudio = require("node-youtube-audio");

const url = "https://youtu.be/_X56_Ys3xUM";

new DownloadAudio(url)
        .codec("flac")
        .ffmpegOutputOptions(
                "-b:a 1411k", // bitrate
                "-ar 48000", // sampling rate
                "-ac 2", // channels
                "-af volume=volume=1.1dB" // filter
        )
        .outputDirectory("path/to/your/folder")
        .fileExtension("flac")
        .execute()
        .then(console.log)
        .catch(console.log);

Example 3.

const DownloadAudio = require("node-youtube-audio");

const url = "https://youtu.be/_X56_Ys3xUM";

new DownloadAudio(url)
        .codec("pcm_s16le")
        .ffmpegOutputOptions(
                "-loglevel panic", // Disable ffmpeg log progress
                "-b:a 1411k" // bitrate
        )
        .outputDirectory("path/to/your/folder")
        .fileExtension("wav")
        .execute()
        .then(console.log)
        .catch(console.log);

Method

.codec(param: string): this

Set the audio codec.

.ffmpegOutputOptions(...restParam: string[]): this

Set output options of FFmpeg. example:

.ffmpegOutputOptions(
    "option1",
    "option2 parameter2",
    "option3 parameter3"
)

.fileName(param: string): this

Set the audio file name (Optional). Default uses the title from the video.

.outputDirectory(param: string): this

Set the location of the folder to store your audio.

.fileExtension(param: string): this

Set audio file extensions.

.execute(): Promise<string>

Start processing.

Audio Codec

To see the available audio codecs, see the FFmpeg documentation.

The codec I usually use:

  • aac
  • flac
  • pcm_s16le (wav)
  • libvorbis (ogg vorbis)
  • libmp3lame (mp3)
  • alac