Repository navigation
Releases: mowshon/moviego
Releases · mowshon/moviego
Release list
v2.0.2
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
mgofacade 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
Ratehandling 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, andkeyframe. - Explicit effect sidecar propagation via
EffectTargets. DescribeandValidateAPIs for inspecting render plans before export.- Bounded caches and single-owner frame buffers for predictable memory behavior.
- Race-tested parallel rendering with
parallel == sequentialas 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.
ffmpegandffprobeavailable onPATH.- Minimal third-party dependency footprint:
golang.org/x/imageplus transitivegolang.org/x/text.
MovieGo v1.0.1
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
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