Skip to content

Go SDK API Reference

Vidonex provides a type-safe Go SDK designed with zero external third-party dependencies in its core packages.

Package Architecture

PackageImport PathResponsibility
typesgithub.com/farshidrezaei/vidonex/typesExact math (Rational), geometry (Point, Rect, Size), and colors
timelinegithub.com/farshidrezaei/vidonex/timelineDeclarative timeline AST: Timeline, Tracks, Clips, Transitions
filtergraphgithub.com/farshidrezaei/vidonex/filtergraphIntermediate representation: DAG, Nodes, Typed Pads, AutoSplitPass
compilergithub.com/farshidrezaei/vidonex/compilerMulti-stage compiler: AST $\to$ DAG $\to$ FFmpeg CLI arguments
composergithub.com/farshidrezaei/vidonex/composerHigh-level facade for compilation and real-time execution
duckinggithub.com/farshidrezaei/vidonex/duckingSidechain audio compressor ducking options and compiler hooks
waveformgithub.com/farshidrezaei/vidonex/waveformAudiogram waveform visualizer modes and parameters
chromakeygithub.com/farshidrezaei/vidonex/chromakeyChromaKey green/blue screen isolation with despill
effectsgithub.com/farshidrezaei/vidonex/effectsPre-built filter nodes (Scale, DrawText, XFade, Volume)
presetsgithub.com/farshidrezaei/vidonex/presetsSocial media platform presets (TikTok 9:16, YouTube 4K) & GPU encoders
executorgithub.com/farshidrezaei/vidonex/executorSubprocess runner with live progress and event parsing

Engineering Contracts

  1. Exact Rational Math: Never use float64 for timestamp math or frame calculations. Always use types.Rational.
  2. Type Safety: All filter pads are typed as StreamTypeVideo or StreamTypeAudio. Connecting mismatching types returns compile-time errors.
  3. No Concatenation: Filtergraph strings are emitted only after structural validation and optimization passes.

Released under the MIT License.