Video

Decode once, apply filters, encode once. Containers, codecs, and resize behaviour for the video transport.

Formats

Reading is wider than writing. Encode targets and the full table → Compatible files.

DirectionFormats
Send usmp4, m4v, webm, mov, mkv, avi, ogv, mpg, mpeg, ts, 3gp
Get backmp4, webm, mov, mkv

mp4 / mov / mkv carry H.264 + AAC; webm carries VP9 + Opus. mp4 and mov are written with the index at the front so playback can start before the full object downloads.

A branch with no video.convert re-encodes into the source container — resize-only jobs need a writable container, or add a convert node to pick the output.

Nodes

  • video.resize — scale by percentage or into a pixel box, with fit modes and optional letterbox colour.
  • video.convert — re-encode to mp4, webm, mov, or mkv at a quality.

SDK examples → Recipes. Several outputs from one clip → Pipelines.

Order of operations

Resizes chain into one filter pass; convert is the terminal encode. Two converts on one branch — the last one wins.

Dimensions land on even numbers

Encoders need an even width and height, so the transport rounds the final size down to a multiple of 2. Ask for 721px and you get 720px.

Next steps