Neurotic and Probably Misinformed
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    avconv-utilspublic

    dependency status published version still maintained?

    NPM NPM

    motivation

    Can be used to fetch frames from a video and create mosaics out of them for better storage and distribution.

    Possible usage scenarios:

    • show preview in video slider
    • auxiliary imagery for non linear editing of videos

    requirements

    • Requires graphicsmagick to be installed:

      sudo apt-get install graphicsmagick

    • Requires avconv to be installed with x264 support (if reading h.264 videos) Read how to do it here.

    examples

    The following examples are available in samples

    And the video used it them is this one:

    source video

    do mosaic magic

    Source code:

    var au = require('avconv-utils');
    au.doMosaicMagic(
      {
        video:    'jTE4TOJANeatDmQi341m.mp4',
        scale:    0.25,
        fps:      1,
        strategy: 'square',
        mosaic:   'mosaics/jTE4TOJANeatDmQi341m.jpg'
      },
      function(err, res) {
        if (err) { throw (err); }
        console.log(res);
      }
    );

    Callback result is:

    {
      mosaicDimensions: [870, 984],
      frameDimensions:  [145, 82],
      strategy:         'square',
      outFile:          'mosaics/jTE4TOJANeatDmQi341m.jpg',
      grid:             [6, 12],
      n:                68,
      videoDuration:    66.41,
      videoDimensions:  [580, 326]
    }

    and the following mosaic image:

    resulting mosaic

    Note: The square strategy displayed above is the most appropriate for humans to inspect the result. If you're scripting a preview slider based on CSS properties horizontal or vertical strategies are better suited for such purpose. They compose the mosaic in a single row/column respectively.

    get metadata

    Source code:

    var au = require('../lib/avconv-utils');
    au.getMetadata(
      'jTE4TOJANeatDmQi341m.mp4',
      function(err, res) {
        if (err) { throw (err); }
        console.log(res);
      }
    );

    Callback result is:

    {
      duration:     '00:01:06.41',
      durationSecs: 66.41,
      vCodec:       'h264 (Constrained Baseline)',
      vDetails:     'Video: h264 (Constrained Baseline), yuv420p, 580x326 [PAR 1:1 DAR 290:163], 694 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc',
      dimensions:   [580, 326],
      aCodec:       'aac',
      aDetails:     'Audio: aac, 48000 Hz, stereo, s16, 127 kb/s'
    }

    usage

    Check API.

    Usage examples in bin/* command line utilities and tests directory.

    changelog

    Check LOG.

    install

    npm i avconv-utils

    Downloadsweekly downloads

    8

    version

    0.1.6

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar