cavif-bin

    0.3.0 • Public • Published

    cavif-bin

    cavif bin-wrapper that makes it seamlessly available as a local dependency

    I hope that this package will be part of the imagemin plugins as an imagemin-avif WIP

    About AVIF

    AVIF logo

    AVIF offers significant compression gains vs. JPEG and WebP, with a recent Netflix study showing 50% savings vs. standard JPEG and > 60% savings on 4:4:4 content

    Underhood

    cavif-bin use cavif v0.6.6 with BSD 3-Clause License and Copyright (c) 2020, Kornel, as a AVIF coder.

    Encoder options

    Option Description
    --quality=n Quality from 1 (worst) to 100 (best), the default value is 80. The numbers have different meaning than JPEG's quality scale. Beware when comparing codecs.
    --speed=n Encoding speed between 1 (best, but slowest) and 10 (fastest, but a blurry mess), the default value is 1. Encoding of AVIF is pretty slow, so you need either a) beefy multicore machine b) avoid large images c) patience.
    --overwrite Replace files if there's .avif already. By default existing files are left untouched.
    -o path Write output to this path instead of samefile.avif. If multiple input files are specified, it's interpreted as a directory.
    --quiet Don't print anything during conversion.
    --premultiplied-alpha Warning: currently incompatible with libavif. Improves compression of transparent images by clearing RGB of fully transparent pixels and lowering quality of semi-transparent colors.
    --dirty-alpha Don't change RGB values of transparent pixels. By default irrelevant color of transparent pixels is cleared to avoid wasting space.
    --color=rgb encode using RGB color space instead of YCbCr color space. Makes color closer to lossless, but makes files larger.

    Install

    npm install cavif-bin

    Usage

    const {execFile} = require('child_process');
    const cavif = require('cavif-bin');
    
    execFile(cavif, ['input.png','--quality=74', '-o', 'output.avif'], err => {
      if (err) throw err;
      console.log('Image is converted!');
    });

    CLI

    You can install cavif globally.

    npm install --global cavif-bin

    And use it as a CLI command.

    cavif --help

    AVIF browsers support

    • Chrome Desktop 85+
    • Firefox 63+ (with media.av1.enabled activated)
    • Firefox for Android 64+ (with media.av1.enabled and media.av1.use-dav1d activated)
    • Edge 18+ (with AV1 Video Extension installed)

    License

    MIT © nucliweb

    Install

    npm i cavif-bin

    DownloadsWeekly Downloads

    6

    Version

    0.3.0

    License

    MIT

    Unpacked Size

    6.06 kB

    Total Files

    7

    Last publish

    Collaborators

    • nucliweb