video.resize

Scale a video by percent or pixel box. Chained resizes run in one encode pass.

Config

type VideoResizeConfig =
  | { mode: 'percentage'; percent: number } // default percent: 50
  | {
      mode: 'pixels';
      width: number;   // default 1280
      height: number;  // default 720
      fit: ResizeFit;  // default 'contain'
      padColor: string; // default 'black'; used with fit: 'contain'
    };

type ResizeFit = 'contain' | 'cover' | 'fill' | 'inside' | 'outside';

There is no maxSize mode. Queue .maxSize(px) compiles to pixels + fit: 'inside'.

Example

// pipeline
{
  id: 'resize',
  type: 'video.resize',
  config: {
    mode: { value: 'pixels' },
    width: { value: 1080 },
    height: { value: 1080 },
    fit: { value: 'cover' },
  },
}

// queue
tk.runQueue(files, 'video')
  .maxSize(720)
  .resize({ width: 1080, height: 1080, fit: 'cover' });