1.1.6 • Published 12 months ago
m3u8-core v1.1.6
Node M3U8 Downloader
A module that downloads m3u8 segments/playlists to specified output
Warn
This is deprecated use node-m3u8-downloader
instead. Its the more stable version of this
Installation
npm install node-m3u8-downloader
Usage
Create an instance
const m3u8 = require('node-m3u8-downloader');
// Initialize the instance with options
const options = {
streamUrl: 'http://example.com/playlist.m3u8',
outputFile: '/path/to/output.mp4',
mergedPath: '/path/to/merged.ts', // default: os.tmpdir()/m3u8dl/merged.ts
quality: 'highest', // default: highest
cache: '/path/to/cache', // cache path for temporary files
concurrency: 20, // number of download threads (default: 20)
ffmpegPath: '/custom/path/to/ffmpeg', // custom path to ffmpeg
cb: console.log, // callback function
};
const instance = new m3u8(options);
Options
streamUrl
: The URL of the m3u8 playlist.outputFile
: Path where the downloaded output file will be saved.mergedPath
: Path where merged ts files from segments are stored (default: system temporary directory + '/m3u8dl/merged.ts').quality
: Quality of the stream to download (default: highest).cache
: Path where temporary files are stored.concurrency
: Number of download threads (default: 20).ffmpegPath
: Custom path to ffmpeg executable.cb
: Callback function for events.
Add a caption
instance.addCaption(urlOrPath, lang)
Arguments
urlOrPath
: the uri of subtitles files or pathlang
: language of the subtitle (default: english)
Start the download
await instance.startDownload()
Events
instance.on(event, callback)
All Events
start
: Emitted when the downloader is starting.parsing
: Emitted when parsing the m3u8 playlist.segments_download:build
: Emitted when the segment downloader is built.segments_download:start
: Emitted when the segment downloader starts.segments_download:progress
: Emitted when a new segment is downloaded.progressData
: Object with download progress information.{ uri: string, path: string, progress: { total: int, current: int, percentage: int } }
segments_download:end
: Emitted when all segments are downloaded.merging:start
: Emitted when merging of segments starts.merging:end
: Emitted when merging of segments ends.conversion:start
: Emitted when conversion to mp4 and caption adding starts.conversion:end
: Emitted when conversion ends.end
: Emitted when the m3u8 download is complete.
Features
- Fast download (uses concurrency)
- Master playlist support
- Simple download
- Supports captions to add to video
Support
For support, make an issue in github.
🔗 Links
[]
1.1.6
12 months ago
1.1.5
12 months ago
1.1.4
12 months ago
1.1.3
12 months ago
1.1.2
12 months ago
1.1.1
12 months ago
1.1.0
12 months ago
1.0.9
12 months ago
1.0.8
12 months ago
1.0.7
12 months ago
1.0.6
12 months ago
1.0.5
12 months ago
1.0.4
12 months ago
1.0.3
12 months ago
1.0.2
12 months ago
1.0.1
12 months ago
1.0.0
12 months ago