img2vid

1.1.5 • Public • Published

img2vid npm version

Generate videos or gifs from images. Includes captions, audio, transitions, zoompan and a watermark image.

Requires

ffmpeg with --enable-libass

Install

npm install img2vid

Example Usage

var img2vid = require('img2vid')
var payload = {
  slides: [
    {
      path: 'examples/exampleData/squirrel.jpg',
      duration: 2
    },
    {
      path: 'examples/exampleData/cassettes.jpg',
      duration: 2
    },
    {
      path: 'examples/exampleData/mouse.jpg',
      duration: 2
    }
  ],
  captions: [
    {
      text: 'Img2Vid',
      start: 0,
      end: 6
    }
  ],
  width: 640,
  height: 419,
  output: 'examples/outputs/simple.webp',
  assOutput: 'examples/outputs/simple.ass',
  forceScale: true
}
img2vid.render(payload)

Options

key required default type description
slides Y [Object] See Slide Options
captions N [Object] See Caption Options
width Y 640 Number Pixels
height Y 480 Number Pixels
output Y output.mp4 String filepath.[mp4/gif/webp]
assOutput Y iff using captions subs.ass String ASS File Output - filepath.ass
audio N String Path to audio file
genpalette N false Boolean Generate color palette for Gifs/Webp outputs
forceScale N false Boolean Use if input images are different sizes
duration N Number Output Duration
gifLoop N true Boolean Continually loop Gifs/Webp outputs
hardSub N true Boolean Render captions over output
verbose N true Boolean Show Logs
watermark N Object See Watermark Options

Slide Options

key required default type description
path Y String image filepath
duration Y 2 Number Seconds
transition N Object See Transition Options
zoomPan N Object See ZoomPan Options

Transition Options

key required default type description
type Y String See Available Transitions
duration Y 1 Number Seconds to transition

ZoomPan Options

key required default type description
startTime N 0 Number Seconds from start of slide
endTime Y Number Seconds to finish ZP
zoomStart N 1 Number Scale Factor to Start
zoomEnd Y 1 Number Scale Factor to End
xStart N 0 Number Start X Position
yStart N 0 Number Start Y Position
xEnd Y 0 Number End X Position
yEnd Y 0 Number End Y Position
jitterScale N 2 Number|False Temp scale image up to reduce jitter

Caption Options

key required default type description
text Y String image filepath
start Y 0 Number Seconds in total output
end Y 0 Number Seconds in total output
style N Object See Style Options

Caption Style Options

key alias default type description
fontName fn Arial String [x,y] position in pixels
fontSize fs 28 Number
borderSize bord 2 Number
color #FFFFFF String Must be 6 char hex color
borderColor #000000 String Must be 6 char hex color
fade fad [Number,Number] [fadeIn,fadeOut] in ms
position pos [Number,Number] [x,y] in pixels
lineAlignment an top left String top,middle,bottom left,center,right
scaleX fscx 100 Number as a percentage
scaleY fscy 100 Number as a percentage
animate t String See animate string syntax
move Number[4] [startX,startY,endX,endY]
shadow shad Number depth of shadow
shadowColor String Must be 6 char hex color
shadowAlpha String Must be 2 char hex alpha color
bold b 1 Number 1 or 0
italics i 0 Number 1 or 0
underline u 0 Number 1 or 0
strikeout s 0 Number 1 or 0

Watermark Options

key required default type description
path Y 0 String Path to watermark image
height N 100 Number Pixels (-1 to keep aspect ratio)
width N -1 Number Pixels (-1 to keep aspect ratio)
x N 10 Number Pixels
y N 10 Number Pixels
alpha N 1 Number Opacity of image (Between 0 and 1)

Available Slide Transitions

View transitions types and demos available from FFMPEG xfade filter.

Package Sidebar

Install

npm i img2vid

Weekly Downloads

4

Version

1.1.5

License

ISC

Unpacked Size

27.4 kB

Total Files

6

Last publish

Collaborators

  • advplyr