UNPKG

@lzwme/m3u8-dl

Version:

A free, open-source, and powerful m3u8 video batch downloader with multi-threaded downloading, play-while-downloading, WebUI management, video parsing, and more.

119 lines (118 loc) 5.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = { cli: { command: { download: { description: 'm3u8 url. Can also be a local txt file specifying a group of m3u8 URLs, suitable for batch download scenarios', }, server: { description: 'Start download center web service', }, search: { description: 'm3u8 video online search and download', }, }, option: { silent: 'Enable silent mode.', debug: 'Enable debug mode.', filename: 'Specify the save name of the downloaded file. Default is url md5 value. If multiple url addresses are specified, sequence numbers will be added at the end', threadNum: 'Concurrent download thread count. Default is cpu * 2. Can set different values to observe download effects', force: 'Enable force execution mode. Whether to continue downloading and generating when file already exists', noProgress: 'Whether not to print progress information', play: 'Whether to play while downloading', cacheDir: 'Temporary file save directory. Default is cache', saveDir: 'Path to save downloaded files. Default is current directory', noDelCache: 'Whether to delete temporary files after successful download. Default is true. Saving temporary files can identify cache when re-downloading', noConvert: 'After successful download, whether not to merge and convert to mp4 file. Default is true.', ffmpegPath: 'Specify ffmpeg executable file path. If not specified, will try to use ffmpeg from system PATH', headers: 'Custom request headers. Format: key1=value1\nkey2=value2', type: 'Specify download type. Default is auto-detect based on URL. If batch downloading multiple different URL types, do not set this. Options: m3u8, file, parser', ignoreSegments: 'Ignore video segments, use - to separate start and end time points, multiple separated by commas. Example: 0-10,20-30', port: 'Specify web service port. Default is 6600', token: 'Specify web service password (authorization header). Default is empty', url: 'Video search API address (m3u8 collection site standard API)', apidir: 'Specify the directory or specific path where custom video search API is located', lang: 'Specify language. Options: zh-CN, en', }, }, api: { error: { unauthorized: 'Unauthorized access', configSaveFailed: 'Config save failed', unknown: 'Unknown error', downloadFailed: 'Download failed', accessDenied: 'Access denied', invalidUrl: 'Invalid url parameter', notFound: 'Not Found', invalidParams: 'Invalid parameters', taskNotFound: 'Task not found', onlyRenameCompleted: 'Only completed tasks with normal status can be renamed', invalidFilename: 'Filename contains invalid characters', fileNotFound: 'File not found', fileExists: 'File already exists', renameFailed: 'Rename failed: {error}', duplicateDownload: '{count} URL(s) already exist, duplicate download', }, success: { configUpdated: 'Config updated successfully', queueCleared: 'Cleared {count} pending download tasks', downloadStarted: 'Started {count} download task(s)', paused: 'Paused {count} download task(s)', resumed: 'Resumed {count} download task(s)', noResumableTasks: 'No resumable download tasks found', deleted: 'Deleted {count} download task(s)', renamed: 'Renamed successfully', }, }, download: { status: { starting: 'Starting download for', fileExists: 'file already exist:', completed: 'Download completed', failed: 'Download failed', retry: 'Retry', parseFailed: 'Failed to parse M3U8', segmentsIgnored: 'Ignored {count} segments', tsDownloadError: 'TS segment download error', retryTimes: 'Retry times: {times}', totalSegments: 'Total segments: {count}, duration: {duration}sec', parallelJobs: 'Parallel jobs: {count}', segmentsFailed: '{count} segments failed!', downloadFailedRetry: 'Download Failed! Please retry!', mergingVideo: 'Starting to merge video file, please wait...', mergeFailed: 'Video file merge failed!', downloadFailedWithMessage: 'Download failed: {message}', }, error: { parseFailed: 'Failed to parse M3U8', downloadFailed: 'Download failed', retryFailed: 'Retry failed', }, }, error: { download: { failed: 'Download failed', parseFailed: 'Parse failed', }, unknown: 'Unknown error', }, prompt: { search: { keyword: 'Please enter keyword', selectVideo: 'Found {count} results, please select:', continueDownload: 'There is an unfinished download from last time 【{name}】, continue?', playWhileDownload: '【{name}】Play while downloading?', noResults: 'No results found', getVideoInfoFailed: 'Failed to get video information!', noPlayUrl: 'No playback URL information obtained', reSearch: 'Re-search', allDownload: 'Download All', }, }, common: { exit: 'Exit', cancel: 'Cancel', confirm: 'Confirm', }, };