ffmpeg-ffprobe-yt-dlp-static-electron
TypeScript icon, indicating that this package has built-in type declarations

1.0.4 • Public • Published

ffmpeg-ffprobe-yt-dlp-static-electron

Description

I made this package as a replacement for my project's dependency on Vitaliy Alekhnovich's youtube-dl-ffmpeg-ffprobe-static which has been removed from npm. I incorporated ideas from pietrop's ffmpeg-static-electron to make the binary paths electron-builder friendly.

Currently this module is only supporting the platforms needed for my project which are Mac OSX Intel and Windows 64bit.

Contains binaries for ffmpeg, ffprobe and yt-dlp. I replaced youtube-dl with yt-dlp as youtube-dl support is slowly dying and takes forever to download anything. Binaries are not on the git repo because they're too large.

Installation

npm i ffmpeg-ffprobe-yt-dlp-static-electron

Usage

import { ffmpeg, ffprobe, ytdlp } from 'ffmpeg-ffprobe-yt-dlp-static-electron'
import { fixPathForAsarUnpack } from 'electron-util'

console.log(fixPathForAsarUnpack(ffmpeg.path))
console.log(fixPathForAsarUnpack(ffprobe.path))
console.log(fixPathForAsarUnpack(ytdlp.path))

// /path/to/ffmpeg-ffprobe-yt-dlp-static-electron/bin/[mac|win]/ffmpeg[|.exe]
// /path/to/ffmpeg-ffprobe-yt-dlp-static-electron/bin/[mac|win]/ffprobe[|.exe]
// /path/to/ffmpeg-ffprobe-yt-dlp-static-electron/bin/[mac|win]/yt-dlp[|.exe]

^Using with fixPathForAsarUnpack from sindresorhus's electron-util

// electron-builder.yml

files:
  -"node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/bin/${os}${/*}"
  -"node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/index.js"
  -"node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/package.json"

win:
  files:
    - "!node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/bin/mac${/*}"

mac:
  files:
    - "!node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/bin/win${/*}"

I highly recommend that you add these scripts to your package.json. These will update yt-dlp to the latest version. I'll try to release updates to this package as new versions of yt-dlp come out, but these will let you get the latest a little sooner.

// package.json

{
  ...,
  "scripts":{
    ...,
    "update-yt-dlp:mac": "node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/bin/mac/yt-dlp -U",
		"update-yt-dlp:win": "cd node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/bin/win && yt-dlp.exe -U",
  }
}

For Mac users, if you're getting permission errors when running or updating yt-dlp, this command works for me:

sudo chmod a+x /node_modules/ffmpeg-ffprobe-yt-dlp-static-electron/bin/mac/yt-dlp

Package Sidebar

Install

npm i ffmpeg-ffprobe-yt-dlp-static-electron

Weekly Downloads

50

Version

1.0.4

License

MIT

Unpacked Size

415 MB

Total Files

10

Last publish

Collaborators

  • jhwebdeveloper