Releases: WyattBlue/auto-editor
Releases Β· WyattBlue/auto-editor
30.5.0
Features
- Composite multiple video layers into one output: a v3 JSON timeline with stacked
vtracks is now rendered bottom-to-top, with each overlay clip placed by aposaction in its effects. Still images (PNG/JPG/...) are supported as overlay sources (logos, watermarks), and overlay alpha is preserved. - Add the following actions:
drawbox,pos(overlay placement,pos:x:y[:scale]),rotate:deg(fixed-angle, expands the canvas for aspect flips), andspin:deg/rate(continuous rotation, never clipped, transparent corners on overlays) - Add the
addvirtual action,add:pathoradd:path:x:y:scale. Actions chained after anaddapply to the new overlay layer (e.g.add:./logo.png,spin:0/-30spins the logo) - Add animated effects:
zoom,opacity,blur, andbrightnessaccept keyframe ramps (a..b..c) that interpolate across the section, with optional easing via:ease=curve[:duration](curvelinear/in/out/inout, duration e.g.2sec). A standaloneease:token applies a curve to the animated actions that follow it. - Add AMD AMF hardware encoders (
h264_amf,hevc_amf,av1_amf) for x86_64 Windows and Linux builds.
Performance
- Skip demuxing unused streams during audio analysis and rendering, which is significantly faster when working with high-bitrate video files.
- Speed up audio loudness analysis with a faster SIMD peak scan (NEON, SSE2, and WebAssembly SIMD).
- Render audio as a bounded stream instead of assembling the whole timeline into a memory-mapped buffer first. Memory now scales with the largest clip rather than the total duration, which especially helps memory-constrained environments like WebAssembly. Normalization (
peak/ebu) decodes the timeline twice to stay streaming.
Fixes
- Fix
whispersubtitle timestamps being wrong (scaled by the ratio of the stream time base to the sample rate) by passing the stream's time base to the audio buffer source.
Full Changelog: 30.4.0...30.5.0
30.4.0
Features
- Add micro-fade at clip edges to prevent audio pops.
- Store audio/motion/waveform analysis levels as 16-bit normalized values, roughly halving level-cache file size.
levelsoutput values are rounded accordingly. - For URL inputs, only the streams that are actually used are fetched: streams the output container can't hold are skipped unless an
--editmethod needs to analyze them.--statsdownloads only the streams it needs. -res WIDTH,HEIGHTnow limits the height of yt-dlp downloads (e.g.-res 1920,1080caps the video at 1080p).- URL inputs now default to an
mkvcontainer and theh264video codec (instead of inheriting the downloaded file's container/codec, e.g. webm/vp9). - Add the
deesseraction to reduce harsh "s"/"sh" sibilance in audio sections; accepts positionalintensity[:max[:freq]](e.g.--when-normal deesser:0.5).
Fixes
infonow reports the intended display aspect ratio: it folds in the pixel aspect ratio so anamorphic video shows its true ratio (e.g.720x480with SAR32:27shows16:9), and snaps codec-rounding artifacts to the common ratio they approximate (e.g.854x480shows16:9instead of the meaningless exact reduction427:240).- Remove
--download-formatas it is now superfluous.
Full Changelog: 30.3.0...30.4.0
30.3.0
Features
- Add OpenTimelineIO export (
--export premiere-otio,.otio). Unlike the FCP7 XML export, it carries theinvert,hflip, andvflipactions into Premiere Pro as native video effects. - Add
opacityandblurvideo actions. - Add
brightness,brighthue,contrast, andsaturationvideo actions.brightnessshifts all RGB channels equally (lutrgb);brighthue/contrast/saturationadjust the Y/U/V channels and are fused into a singlelutyuvpass when used together.
Fixes
- Add empty_moov for
--fragmentedmp4s - Fix progress bars sometimes not clearing correctly
- Support for wasm64.
Full Changelog: 30.2.4...30.3.0
30.2.4
Fixes
- Allow using experimental codecs
- Enable the vorbis encoder
- Improve seeking so unoptimal jumps don't happen
- Fix decoder seek thrashing at speed-segment boundaries by making timeline generation monotonic
- Fix
--no-seekproducing black frames in some cases
Full Changelog: 30.2.2...30.2.4
30.2.2
Fixes
- Fix only the first uncached audio stream being analyzed when multiple are referenced
- Fix exporting to the GIF format if the input has audio
- Fix
--export resolve/final-cut-prooffsetting every clip's timeline position by the media's start timecode, breaking the edit for footage with embedded timecode - Fix
--export resolve/final-cut-prowriting an invalid sequenceaudioLayout(e.g.mono) rejected by Final Cut Pro; layouts now map tostereoorsurround - Fix
--export final-cut-prosetting eachasset'sdurationto the edited timeline length instead of the source media's duration - Fix
--export premiereforcing mono sources into an exploded stereo track-pair, leaving the audio playing on only one side; mono sources now export as a singleMonotrack - Fix
--export premierewriting duplicateclipitemids and dangling<link>references
Full Changelog: 30.2.0...30.2.2
30.2.0
Features
- Add hflip and vflip actions
- Kdenlive export: support multiple inputs
Fixes
- Use ffmpeg 8.1.1
- Enable
flvmuxer/demuxer - Fix incorrect rendering of some AV1 videos
Full Changelog: 30.1.6...30.2.0
30.1.6
Fixes
- Upgrade x265 to 4.2
- Copy embedded images
- Add image tracks to the info commmand
- Fix rendering audio when speed is less than 0.5x
- Add
-presetoption
Full Changelog: 30.1.4...30.1.6
30.1.4
30.1.2
Fixes
- Add task for building for wasm32 (for the web).
- Add task for building auto-editor dynamically.
- Fix expressions that only work when
intis 8 bytes. - Merge similar functions into one, e.g.
tl.leninitLayout. - Avoid some allocations by using
av.openFormatCtxinstead ofav.open.
Full Changelog: 30.1.0...30.1.2
30.1.0
Features
- Use FFmpeg 8.1.
- Add setting Constant Rate Factor:
-crf. - Add
--no-cacheto main program. - Add
-encodersto info command. - Build whisper-cpp for Windows AArch64.
Fixes
- Implement Neon SIMD for readChunk proc (audio). Makes audio analysis faster by 10% for AArch64.
- Use SvtAv1 4.1.0.
Full Changelog: 30.0.0...30.1.0