# mediainfo

> Wrapper around the `mediainfo' program for obtaining information about media files

Latest version **0.0.2** (published 2013-04-04) · BSD license · 0 weekly downloads

## Install

```sh
npm install mediainfo
pnpm add mediainfo
yarn add mediainfo
bun add mediainfo
```

## Health

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

Positive: no vulnerabilities.

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

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.2 |
| Published | 2013-04-04 |
| First published | 2012-04-08 |
| Weekly downloads | 0 |
| License | BSD |
| TypeScript types | none |
| Module format | CommonJS |
| Node | >=0.6.11 |
| Dependencies | 1 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 55 |
| Author | Conrad Pankoff |
| Maintainers | deoxxa |
| Keywords | mediainfo, media, audio, video, mp3, flac, ogg, mkv, avi |

## Links

- npm: https://www.npmjs.com/package/mediainfo
- Repository: https://github.com/deoxxa/node-mediainfo
- npm.io page: https://npm.io/package/mediainfo

## Dependencies (1)

- [node-expat](https://npm.io/package/node-expat.md) 2.0.x

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 0.0.2 (latest) — 2013-04-04
- 0.0.1 — 2012-04-08

## README

Mediainfo
=========

Wrapper around the `mediainfo` command for obtaining information about media
files.

Overview
--------

This module provides an interface to the `mediainfo` command. It returns the
(parsed) output of the command with all the keys lower-cased. There's not a lot
to say here.

Usage
-----

The module exposes just one function, which has a signature of:

`mediainfo("/path/to/file", "/path/to/other/file", [...], callback)`

The callback function is called, in familiar node fashion, with two arguments.
The first is an Error object on error, or null on success. The second argument
is an array of objects, forming what you'd expect from the output of mediainfo,
if it were mangled into a JSON object.

It's really easier to just see the output, so here:

```
[
  {
    tracks: [
      {
        type: 'Audio',
        format: 'MPEG Audio',
        format_version: 'Version 1',
        format_profile: 'Layer 3',
        mode: 'Joint stereo',
        duration: '3mn 2s',
        bit_rate_mode: 'Constant',
        bit_rate: '320 Kbps',
        channel_s_: '2 channels',
        sampling_rate: '44.1 KHz',
        compression_mode: 'Lossy',
        stream_size: '6.97 MiB (100%)',
        writing_library: 'LAME3.97'
      }
    ],
    complete_name: 'test1.mp3',
    format: 'MPEG Audio',
    file_size: '6.98 MiB',
    duration: '3mn 2s',
    overall_bit_rate: '320 Kbps',
    album: 'We No Speak Americano (High Rankin\'s Bait n Wobble Mix)',
    track_name: 'We No Speak Americano (High Rankin\'s Bait n Wobble Mix)',
    track_name_position: '1',
    track_name_total: '1',
    performer: 'Yolanda Be Cool & DCUP',
    accompaniment: 'High Rankin',
    genre: 'Dubstep',
    recorded_date: '2010',
    writing_library: 'LAME in FL Studio 8 / LAME3.97'
  },
  {
    tracks: [
      {
        type: 'Audio',
        format: 'MPEG Audio',
        format_version: 'Version 1',
        format_profile: 'Layer 3',
        mode: 'Joint stereo',
        duration: '3mn 2s',
        bit_rate_mode: 'Constant',
        bit_rate: '320 Kbps',
        channel_s_: '2 channels',
        sampling_rate: '44.1 KHz',
        compression_mode: 'Lossy',
        stream_size: '6.97 MiB (100%)',
        writing_library: 'LAME3.97'
      }
    ],
    complete_name: 'test2.mp3',
    format: 'MPEG Audio',
    file_size: '6.98 MiB',
    duration: '3mn 2s',
    overall_bit_rate: '320 Kbps',
    album: 'We No Speak Americano (High Rankin\'s Bait n Wobble Mix)',
    track_name: 'We No Speak Americano (High Rankin\'s Bait n Wobble Mix)',
    track_name_position: '1',
    track_name_total: '1',
    performer: 'Yolanda Be Cool & DCUP',
    accompaniment: 'High Rankin',
    genre: 'Dubstep',
    recorded_date: '2010',
    writing_library: 'LAME in FL Studio 8 / LAME3.97'
  }
]
```

(bite me, it's a decent track)

Example
-------

```javascript
var mediainfo = require("mediainfo");

mediainfo("/path/to/something.mp3", function(err, res) {
  if (err) {
    return console.log(err);
  }

  console.log(res);
});
```

Requirements
------------

The `mediainfo` command has to be available somewhere in the PATH of the user
node is running as.

License
-------

BSD, 3-clause. A copy is included.

Contact
-------

* Email: [deoxxa@fknsrs.biz](mailto:deoxxa@fknsrs.biz)
* Github: [deoxxa](https://github.com/deoxxa)
* Twitter: [deoxxa](http://twitter.com/#!/deoxxa)

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