UNPKG

youtube-mp3-downloader

Version:

Downloads Youtube videos (in parallel, as streams), encodes the audio data as mp3 and stores them in a defineable location

47 lines (41 loc) 1.43 kB
declare module YoutubeMp3Downloader { export interface IYoutubeMp3DownloaderOptions { ffmpegPath?: string; outputPath: string; // https://github.com/fent/node-ytdl-core/blob/0574df33f3382f3a825e4bef30f21e51cd78eafe/typings/index.d.ts#L7 youtubeVideoQuality?: 'lowest' | 'highest' | string | number; queueParallelism: number; progressTimeout: number; allowWebm?: boolean; requestOptions?: {}; } export interface IResultObject { videoId: string; } export interface IVideoTask { videoId: string; // https://github.com/freeall/progress-stream#usage progress: { percentage: number; transferred: number; length: number; remaining: number; eta: number; runtime: number; delta: number; speed: number; } } } declare class YoutubeMp3Downloader { constructor(options: YoutubeMp3Downloader.IYoutubeMp3DownloaderOptions) cleanFileName(fileName: string): string; download(videoId: string, fileName?: string): void; performDownload(task, callback: (errorNessage?: string, output?: any) => void): void; on(event: 'queueSize', listener: (total : number) => void): this; on(event: 'error' | 'finished', listener: (err: any, data: any) => void): this; on(event: 'progress', listener: (video: YoutubeMp3Downloader.IVideoTask) => void): this; } declare module 'youtube-mp3-downloader' { export = YoutubeMp3Downloader; }