FFix.Command.Input (ffix v0.1.0)

Copy Markdown View Source

One ffmpeg input declaration.

Accessing an input returns FFix.Stream references that can be used in graphs or mapped directly to outputs. The access keys mirror common ffmpeg stream selectors:

  • input[:input] maps the whole input, like -map 0
  • input[:video] maps/selects the first video stream class, like 0:v
  • input[:audio] maps/selects the first audio stream class, like 0:a
  • input[audio: 1] maps/selects a specific stream class index, like 0:a:1
  • input[raw: "s?"] keeps an explicit ffmpeg selector escape hatch

Examples

src = FFix.Command.input("input.mp4", ss: "00:00:03")
logo = FFix.Command.input("logo.png", loop: 1, framerate: 1)

src[:input]
src[:video]
src[:audio]
src[audio: 1]
logo[:video]

Summary

Types

option()

@type option() :: {atom() | String.t(), term()}

source()

@type source() ::
  String.t() | :stdin | {:pipe, non_neg_integer()} | {:url, String.t()}

t()

@type t() :: %FFix.Command.Input{
  id: reference() | nil,
  options: [option()],
  source: source()
}