Git Product home page Git Product logo

m3u8-downloader's Introduction

m3u8-downloader

M3u8 downloader - Multi Thread/Auto Merge/Event Monitor/Custom HTTP Referrer/Support HTTP Proxy

****Pure Javascript

How to use

Download m3u8 video files directly

npm install -g m3u8-downloader-concurrency 

m3u8-downloader --url="https://xxx/xxx.m3u8"
# or with proxy
m3u8-downloader --proxy="http://127.0.0.1:1080" --url="https://xxx/xxx.m3u8" --out tmpdir

options

--out=outputDir

Specify the download output directory

Specify the proxy to use

--suffix=".ts"

Specify the suffix name of the video fragment to download

Specify the URL Root address of the video fragment to download

--referrer="https://abc.com"

HTTP Referrer

--threadCount=3

Thread Count

--debug=true

DEBUG false or true

Advanced usage

npm install --save m3u8-downloader-concurrency 
let url = 'https://abc.com/video28912030123/index.m3u8'; //required
let outputDir = '/Users/xxxx/Downloads/tmp'; //required

// let outputFileName = 'output.ts'; //optional
// let threadCount = 5; //optional

// let videoUrlDirPath = 'https://abc.com/video28912030123/'; //optional
// let headerReferrer = 'https://abc.com'; //optional
// let videoSuffix = '.ts'; //optional

// let retryOnError = true; //optional

// let proxy = '127.0.0.1:1080'; //optional

let downloader = require('m3u8-downloader-concurrency')

let options = {
    url,
    outputDir, //optional
    proxy, //optional
    // outputFileName, //optional
    threadCount, //optional
    videoSuffix, //optional
    videoUrlDirPath, //optional
    headerReferrer, //optional
    retryOnError, //optional
    debug //optional
};

let listener = downloader.download(options)

listener.on('start', function (options) {
    console.log("started downloading", options);
});

listener.on('progress', function (percent) {
    console.log('progress', percent);
});


listener.on('downloaded', function (list) {
    console.log('downloaded', list);
});


listener.on('complete', function (outFile) {
  console.log("done", outFile);
});

listener.on('error', function (error) {
    console.error('error', error);
});

m3u8-downloader's People

Contributors

dependabot[bot] avatar reason211 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.