Global

Methods

(async) WDwloadDlp(url, fp, optopt) → {Promise}

Description:
  • 下載video檔案,預設轉mp4,核心調用yt-dlp,只能用於Windows作業系統

    yt-dlp: https://github.com/yt-dlp/yt-dlp

Source:
Example
import fs from 'fs'
import WDwloadDlp from './src/WDwloadDlp.mjs'

async function test() {

    //url
    let url = `https://www.youtube.com/watch?v=ygA19W750zc` //youtube mp4
    // let url = `https://www.youtube.com/watch?v=fTk0mc946dk` //youtube webm
    // let url = `https://www.youtube.com/watch?v=lKoCiBVKQaQ` //youtube webm
    // let url = `https://www.bilibili.com/video/BV1JZ421x7q8/?spm_id_from=333.1073.channel.secondary_floor_video.click` //bilibili
    // let url = `https://ooo.mp4` //直接提供mp4檔

    //fp
    let fp = './abc.mp4'

    //funProg
    let funProg = (prog, nn, na) => {
        console.log('prog', `${prog.toFixed(2)}%`, nn, na)
    }

    //WDwloadDlp
    await WDwloadDlp(url, fp, {
        clean: true, //單一程序執行時, 事先清除之前暫存檔, 減少浪費硬碟空間
        funProg,
    })

    //len
    let len = fs.statSync(fp).size
    console.log('len', len)

    console.log('done:', fp)
}
test()
    .catch((err) => {
        console.log('catch', err)
    })
// prog 0.49% 1 99
// prog 5.05% 4 99
// ...
// prog 99.00% 98 99
// prog 100.00% 99 99
// len 22394508
// done: ./abc.mp4
Parameters:
Name Type Attributes Default Description
url String

輸入網址字串,支援網站種類詳見yt-dlp

fp String

輸入儲存video(*.mp4)檔案路徑字串

opt Object <optional>
{}

輸入設定物件,預設{}

Properties
Name Type Attributes Default Description
clean Boolean <optional>
false

輸入預先清除暫存檔布林值,預設false

funProg function <optional>
null

輸入回傳進度函數,傳入參數為prog代表進度百分比、nn代表當前已下載ts檔案數量、na代表全部須下載ts檔案數量,預設null

Returns:

回傳Promise,resolve回傳成功訊息,reject回傳錯誤訊息

Type
Promise