Skip to content

Releases: mowshon/moviego

v2.0.2

Choose a tag to compare

@mowshon mowshon released this 22 Jun 16:24
4262aac

MovieGo v2 Release Notes

MovieGo v2 is a full refactor of the library into a typed, lazy, programmatic video-editing engine for Go. It keeps the MoviePy-style editing model while replacing the execution layer with Go-native graph nodes, rational timing, safer buffer ownership, parallel rendering, and FFmpeg-powered export paths.

Highlights

  • New fluent mgo facade for building video, image, text, subtitle, audio, composite, transition, and export workflows.
  • Lazy clip graph with explicit video, mask, and audio sidecars.
  • Rational frame timing with exact Rate handling and finite/infinite duration semantics.
  • Parallel render pipeline for eligible static and linear graphs.
  • Sequential engine preserved as the correctness reference.
  • Optional FFmpeg-only fast paths for compatible trim, resize, crop, fade, concat, and filtergraph exports.
  • Safer FFmpeg process handling with context cancellation and stderr capture.
  • Transparent export support with early validation for codec/container compatibility.

New Editing Features

  • Video sources: files, still images, colors, and image sequences.
  • Composition: layering, positioning, relative placement, concat, mixed-size concat, and alpha-aware blending.
  • Effects: resize, crop, rotate, pad, fit, flip, blur, sharpen, grayscale, color grading, LUTs, vignette, chroma key, water drop, fade, opacity, speed, and loop.
  • Audio: open, mix, trim, loop, speed, reverse, volume, fades, and video/audio sidecar attachment.
  • Text and subtitles: text clips, SRT/VTT/JSON subtitles, ASS subset support, animated text, word-centered captions, credits, timecode, and watermarks.
  • Motion and timing: keyframes, animated position, scale/opacity animation, time remap, freeze, reverse, and boomerang.
  • Transitions: crossfade, dissolve, fade-through-color, wipes, slides, pushes, iris transitions, easing, reversing, and sequence assembly.

Developer Improvements

  • Package architecture split into focused modules: clip, video, audio, effect, composite, transition, text, render, ffmpeg, imagex, draw, ease, and keyframe.
  • Explicit effect sidecar propagation via EffectTargets.
  • Describe and Validate APIs for inspecting render plans before export.
  • Bounded caches and single-owner frame buffers for predictable memory behavior.
  • Race-tested parallel rendering with parallel == sequential as a core invariant.
  • Buildable examples covering trimming, composition, text, motion graphics, slideshows, subtitles, transitions, keyframes, reverse, color grading, audio mixing, transparency, and pipeline rendering.

Requirements

  • Go 1.25 according to the technical spec.
  • ffmpeg and ffprobe available on PATH.
  • Minimal third-party dependency footprint: golang.org/x/image plus transitive golang.org/x/text.

MovieGo v1.0.1

Choose a tag to compare

@mowshon mowshon released this 14 Sep 14:28
bbd6c20

This package needs a complete update of the code logic + tests. Need clearer structure and documentation inside the code.

Glad this package helped someone. So we should continue working on it!

What changes have been made

  • Go version updated to 1.20
  • Added helper getter functions Filename(), Width(), Height(), Duration(), Extension() after PR #8 from @AndreaNicola
    Added correct error handling in PR #9 from @HGriessel

@AndreaNicola, @HGriessel Thank you guys, I really appreciate it! ❤️

v1.0.0

Choose a tag to compare

@mowshon mowshon released this 19 Apr 14:06
ddf42d9

This is the first and hopefully not the last version of the Golang video editing package. The following functionality has been implemented so far:

  • Video size editing
  • Video cutting
  • Video concatenation
  • Frame screenshot
  • Fade-in and Fade-out for video and audio