# node-ffprobe-installer

> Platform independent binary installer of FFprobe for node projects

Latest version **1.2.3** (published 2021-05-29) · LGPL-2.1 license · 0 weekly downloads

## Install

```sh
npm install node-ffprobe-installer
pnpm add node-ffprobe-installer
yarn add node-ffprobe-installer
bun add node-ffprobe-installer
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.3 |
| Published | 2021-05-29 |
| First published | 2021-05-25 |
| Weekly downloads | 0 |
| License | LGPL-2.1 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 8 |
| Unpacked size | 9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Oliver Sayers |
| Maintainers | honeyside |
| Keywords | ffprobe, binary |

## Links

- npm: https://www.npmjs.com/package/node-ffprobe-installer
- Repository: https://github.com/Honeyside/node-ffprobe-installer
- Homepage: https://github.com/Honeyside/node-ffprobe-installer#readme
- Issues: https://github.com/Honeyside/node-ffprobe-installer/issues
- npm.io page: https://npm.io/package/node-ffprobe-installer

## Dependencies (8)

- [ffprobe-darwin-arm64](https://npm.io/package/ffprobe-darwin-arm64.md) 4.4.0
- [@ffprobe-installer/linux-arm](https://npm.io/package/@ffprobe-installer/linux-arm.md) 4.3.2
- [@ffprobe-installer/linux-x64](https://npm.io/package/@ffprobe-installer/linux-x64.md) 4.1.0
- [@ffprobe-installer/win32-x64](https://npm.io/package/@ffprobe-installer/win32-x64.md) 4.1.0
- [@ffprobe-installer/darwin-x64](https://npm.io/package/@ffprobe-installer/darwin-x64.md) 4.1.0
- [@ffprobe-installer/linux-ia32](https://npm.io/package/@ffprobe-installer/linux-ia32.md) 4.1.0
- [@ffprobe-installer/win32-ia32](https://npm.io/package/@ffprobe-installer/win32-ia32.md) 4.1.0
- [@ffprobe-installer/linux-arm64](https://npm.io/package/@ffprobe-installer/linux-arm64.md) 4.3.2

## Recent versions

- 1.2.3 (latest) — 2021-05-29
- 1.2.2 — 2021-05-29
- 1.2.1 — 2021-05-25
- 1.2.0 — 2021-05-25

## README

# node-ffprobe-installer
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-4-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END -->

[![npm](https://img.shields.io/npm/dt/node-ffprobe-installer.svg?style=flat-square)](https://www.npmjs.com/package/node-ffprobe-installer) [![npm](https://img.shields.io/npm/v/node-ffprobe-installer.svg?style=flat-square)](https://www.npmjs.com/package/@node-ffprobe-installer?activeTab=versions) [![xo](https://img.shields.io/badge/code%20style-XO-60CFBE.svg?longCache=true&style=flat-square&logo=)](https://github.com/xojs/xo)

[![Travis](https://img.shields.io/travis/SavageCore/node-ffprobe-installer.svg?style=flat-square)](https://travis-ci.org/SavageCore/node-ffprobe-installer/) [![AppVeyor](https://img.shields.io/appveyor/ci/SavageCore/node-ffprobe-installer.svg?style=flat-square)](https://ci.appveyor.com/project/SavageCore/node-ffprobe-installer) [![Codecov](https://img.shields.io/codecov/c/github/SavageCore/node-ffprobe-installer.svg?style=flat-square)](https://codecov.io/gh/SavageCore/node-ffprobe-installer/) [![Tidelift](https://tidelift.com/badges/github/SavageCore/node-ffprobe-installer?style=flat-square)](https://tidelift.com/repo/github/SavageCore/node-ffprobe-installer/)

Platform independent binary installer of [FFprobe](https://ffmpeg.org/) for node projects. Useful for tools that should "just work" on multiple environments.

Installs a binary of `ffprobe` for the current platform and provides a path and version. Supports Linux, Windows 7+ and MacOS 10.9+.

A combination of package.json fields `optionalDependencies`, `cpu`, and `os` let's the installer only download the binary for the current platform. See also [Warnings during install](https://github.com/SavageCore/node-ffprobe-installer/blob/master/README.md#warnings-during-install).

## Install

    npm install --save node-ffprobe-installer

## Usage examples

```javascript
const ffprobe = require('node-ffprobe-installer');
console.log(ffprobe.path, ffprobe.version);
```

### [process.spawn()](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options)

```javascript
const ffprobePath = require('node-ffprobe-installer').path;
const spawn = require('child_process').spawn;
const ffprobe = spawn(ffprobePath, args);
ffprobe.on('exit', onExit);
```

### [fluent-ffmpeg](https://github.com/fluent-ffmpeg/node-fluent-ffmpeg)

```javascript
const ffprobePath = require('node-ffprobe-installer').path;
const ffmpeg = require('fluent-ffmpeg');
ffmpeg.setFfprobePath(ffprobePath);
```

## Warnings during install

To automatically choose the binary to install, [optionalDependencies](https://docs.npmjs.com/files/package.json#optionaldependencies) are used. This currently outputs warnings in the console, an issue for that is [tracked by the npm team here](https://github.com/npm/npm/issues/9567).

## Known Issues

### AWS and/or Elastic Beanstalk

If you get permissions issues, try adding a .npmrc file with the following:

    unsafe-perm=true

See [node-ffmpeg-installer/issues/21](https://github.com/kribblo/node-ffmpeg-installer/issues/21)

### Wrong path under Electron with Asar enabled

It's a [known issue](https://github.com/electron-userland/electron-packager/issues/740) that Asar breaks native paths. As a workaround, if you use Asar, you can do something like this:

```javascript
const ffprobePath = require('node-ffprobe-installer').path.replace(
	'app.asar',
	'app.asar.unpacked'
);
```

## The binaries

Downloaded from the sources listed at [ffmpeg.org](https://ffmpeg.org/download.html):

- Linux (20190527-g9b069eb14e): https://www.johnvansickle.com/ffmpeg/
- MacOS (93939-g819ed1df94): https://evermeet.cx/ffmpeg/
- Windows 32-bit (20190529-d903c09): https://ffmpeg.zeranoe.com/builds/win32/static/
- Windows 64-bit (20190529-d903c09): https://ffmpeg.zeranoe.com/builds/win64/static/
- Linux ARM (release: 4.3.1) :   https://www.johnvansickle.com/ffmpeg/
- Linux ARM64 (release: 4.3.1) :   https://www.johnvansickle.com/ffmpeg/
For version updates, submit issue or pull request.

## Upload new versions

In every updated `platforms/*` directory:

    npm run upload

## See also

- [node-ffmpeg-installer](https://www.npmjs.com/package/node-ffprobe-installer/ffmpeg) - This project is a fork of @ffmpeg-installer/ffprobe

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tr>
    <td align="center"><a href="https://jonasdautel.dev"><img src="https://avatars3.githubusercontent.com/u/16684499?v=4" width="100px;" alt=""/><br /><sub><b>Jonas Dautel</b></sub></a><br /><a href="https://github.com/SavageCore/node-ffprobe-installer/commits?author=SNRSE" title="Code">💻</a></td>
    <td align="center"><a href="https://kikobeats.com"><img src="https://avatars2.githubusercontent.com/u/2096101?v=4" width="100px;" alt=""/><br /><sub><b>Kiko Beats</b></sub></a><br /><a href="https://github.com/SavageCore/node-ffprobe-installer/commits?author=Kikobeats" title="Code">💻</a></td>
    <td align="center"><a href="https://github.com/kaandok"><img src="https://avatars0.githubusercontent.com/u/472836?v=4" width="100px;" alt=""/><br /><sub><b>Kaan Ozdokmeci</b></sub></a><br /><a href="https://github.com/SavageCore/node-ffprobe-installer/commits?author=kaandok" title="Documentation">📖</a></td>
    <td align="center"><a href="https://github.com/sw360cab"><img src="https://avatars0.githubusercontent.com/u/777866?v=4" width="100px;" alt=""/><br /><sub><b>Sergio Maria Matone</b></sub></a><br /><a href="https://github.com/SavageCore/node-ffprobe-installer/commits?author=sw360cab" title="Code">💻</a></td>
  </tr>
</table>

<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

---
_Source: https://npm.io/package/node-ffprobe-installer · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
