1.0.6 • Published 12 months ago

video-previewer v1.0.6

Weekly downloads
-
License
MIT
Repository
github
Last release
12 months ago

video-previewer

Generate .webp video previews from .mp4 files using TypeScript and ffmpeg

Installation

$ npm install video-previewer
$ pnpm add video-previewer
$ yarn add video-previewer

Usage

import VideoPreviewer from "./generator/VideoPreviewer";

const preview = new VideoPreviewer(
  "video.mp4",
  "output/path.webp", //output path
  [
    { start: "00:00:01", end: "00:00:04" }, // clips to take from video, string with 'HH:MM:SS' format
    { start: "00:04:01", end: "00:04:04" },
    { start: "00:12:01", end: "00:12:04" },
    { start: "00:13:01", end: "00:13:04" },
  ],
  {
    clipCount: 5,
    clipTime: 5,
    clipSelectStrategy: "max-size", // options: 'max-size', 'min-size', 'random'
    clipRange: [0.1, 0.9],
    fpsRate: 10, // number, -1 (default)
    output: {
      type: "buffer", // options: 'buffer' (default), 'file', 'dir'
      path: "", // Required if output type is not 'buffer' (specify file or directory path)
    },
    speedMulti: 2,
    width: 320, // number, video normal dimensions (default)
    height: -1, // number, video normal dimensions (default)
    bitrate: 1000, // optional, video bitrate in kbps
    videoCodec: "libx264", // optional, codec for video encoding
    audioCodec: "aac", // optional, codec for audio encoding
    audioBitrate: 128, // optional, audio bitrate in kbps
    format: "webp", // optional, output format for the preview
    useHardwareAcceleration: false, // optional, enable hardware acceleration for processing
    additionalOptions: "", // optional, any additional command line options for ffmpeg
  }
);
preview.exec();

Available options:

OptionTypeDefault
clipCountnumber-
clipTimenumber-
clipSelectStrategystring'max-size'
clipRangenumber[]-
fpsRatenumber-1 (default: original fps)
outputOutputOptions{type: 'buffer'}
speedMultinumber-
widthnumber(default: original width)
heightnumber(default: original heigth)
bitratenumber-
videoCodecstring'libx264'
audioCodecstring'aac'
audioBitratenumber128
formatstring'webp'
useHardwareAccelerationbooleanfalse
additionalOptionsstring-

🐼 @me

You can find me on twitter as 🐤 @osinthappyemo or on instagram as 🍢 @osintxv

1.0.6

12 months ago

1.0.5

12 months ago

1.0.4

12 months ago

1.0.3

12 months ago

1.0.2

12 months ago

1.0.1

12 months ago

1.0.0

12 months ago