GitXplorerGitXplorer
d

node-mediainfo

public
55 stars
33 forks
9 issues

Commits

List of commits on branch master.
Unverified
7a4b463f827778468d1c40d88731f108a6a2f00b

make readme the same across projects

ddeoxxa committed 11 years ago
Unverified
f257371985b964c8528cd5349fd92351c9a78ee4

parse human-readable sizes into numbers (fixes #2)

ddeoxxa committed 11 years ago
Unverified
fe68233f32de66fecf2723282486e8afc5057bc6

fix example to be runnable from within this directory

ddeoxxa committed 11 years ago
Unverified
84231249e36d4c609f043e39046a42bf4f5c83f8

ignore node_modules

ddeoxxa committed 11 years ago
Unverified
311ea14e7525562cd3b1a01429da2a6086e915bd

bump version

ddeoxxa committed 12 years ago
Unverified
f9d40ace63dbd070949e947cedc28b3183e3ee2d

Merge pull request #1 from jholloman/patch-1

ddeoxxa committed 12 years ago

README

The README file for this repository.

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

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

3-clause BSD. A copy is included with the source.

Contact