README 未给出安装命令,需到官网 Installing 页面查看安装方式;默认剪辑方法是 audio:threshold=0.04,stream=all,想按画面剪辑需显式指定 --edit motion;导出到剪辑软件时需用 --export 指定对应格式,不会自动生成
命令行自动剪辑工具,靠分析音频响度等方法自动剪掉静音和无效片段
自动检测视频中的静音片段并剪掉,省去手动逐帧剪辑的麻烦,适合快速粗剪和压缩素材时长。
核心能力
- 用音频响度阈值自动识别并剪掉静音片段
- 用 --edit motion 按画面运动量自动切掉静止段
- 用 --margin 在剪辑点前后加留白调整节奏
- 支持多轨分别设阈值并组合多种剪辑方法
- 可导出 Premiere、Resolve、Final Cut Pro 等工程文件
容易踩的坑
- 31.8.0最新正式版2026-10-30 · 2026-10-30 01:50 UTC
Features
- New
burnaction/generator: draws a subtitle file (.srt, .ass, or a file's text stream) over a section or on its own layer, e.g.add:burn:talk.srt, with overrides for font, size, colors, and alignment. - New
textaction/generator: writes text over a section or on its own layer, e.g.add:text:Chapter 1, with the same overrides and an optional vertical layout. burnwithout a file draws the subtitles of the media under it: its first text subtitle stream, else a .srt or .ass with the same name. They stay on their words through cuts and speed changes.- New
--fontoption, the default font forburnandtext. - New
scaleaction: scales the picture about its center without growing the frame, e.g.scale:0.8orscale:0.4:1. - New
turnaction: turns the picture clockwise about its center without growing the frame, e.g.turn:15. - New
convolveaction: runs audio through an impulse response file, or a folder of H_LL/H_LR/H_RL/H_RR.wav files for true stereo. maskandconfinetakepoly=x1/y1/x2/y2/...for any closed polygon.- Keyframes can say when they are with
value@time, in frames,sec, or%of the section, e.g.zoom:[email protected]@1.5sec..1@100%. - FCP7 XML import reads transitions as dissolves.
- Exporting to an editor warns about the actions and tracks its format can't hold.
- Enable the MJPEG encoder.
Performance
- x265 uses its assembly on arm64 for 10-bit encoding.
zoomscales only the part of the frame that stays visible and reuses its scaler, making 4K renders with zoom 1.4–1.9× faster.- Exporting to Premiere, Resolve, Final Cut Pro, Shotcut, and Kdenlive uses far less memory and is up to 1.6× faster. A 50,000-clip timeline peaks at 0.6 GiB instead of 2.1 GiB for Premiere, and 0.2 GiB instead of 1.6 GiB for Shotcut.
- Importing FCP7 XML streams the file and uses about a third of the memory: a 50,000-clip Premiere XML peaks at 0.7 GiB instead of 1.8 GiB.
- Loading a timeline where many clips have different actions no longer slows down quadratically: 50,000 clips, each with its own volume, load in 0.5 seconds instead of 12.
Fixes
- WebP images, still and animated, can again be used as inputs. Required enabling FFmpeg's vp8 decoder.
- RGB sources keep their colors when encoded to YUV, instead of a strong green/purple shift (#1289).
- Runs on older x86_64 CPUs. Checks for SSE4.2 when it runs, rather than requiring it, which crashed CPUs without them.
- A sample aspect ratio set by the container (an MP4
paspbox, Matroska) is kept, ininfoand in renders. Before, only the one in the video bitstream was used. - A video-only file whose stream has no duration of its own, like Matroska, no longer gives an empty timeline.
- Copying H.264 from Matroska with B-frames no longer fails with "Could not write packet: Invalid argument".
- MJPEG video in avi/mov no longer freezes on its first frame.
- Cover art is skipped for output formats that can't hold it.
- Motion analysis no longer writes out of bounds when a stream changes resolution.
- An unknown audio codec reports an error instead of crashing.
- Subtitle cues starting before 0 no longer crash subtitle analysis.
- Deeply nested
--editexpressions report an error instead of overflowing the stack, and an invalid regex pattern reports an error instead of crashing. - Actions reject
nanandinfvalues. - A speed too small to store in v1 timelines or FCP7 XML time remaps reports an error instead of hanging.
- FCP7 XML import rejects bad integer fields, a timebase of 0, and clips that end before they start.
- Exporting to Premiere, Resolve (FCP7 XML), Shotcut, or Kdenlive with an output path that can't be written reports an error instead of crashing.
- FCP7 XML import reads text in CDATA sections, such as a
<pathurl>, instead of dropping it. - Importing an FCP7 XML file that doesn't exist reports an error instead of crashing.
Misc.
- Can be now be used as a Nim library, without going
- New
- 31.7.22026-10-03 · 2026-10-03 02:04 UTC
查看更新说明
Fixes
- A packet that fails to decode no longer aborts the whole analysis. The bad packet is skipped with a warning and the rest of the file is still read, so one damaged frame in a long recording can't throw away the entire result.
- Analysis now drains the decoder at the end of a stream.
- An analysis taken over skipped packets is no longer written to the cache, so holes can't be served back as real silence on later runs.
levelsexits non-zero when it had to skip packets. The values it did read are still printed.- All progress and status output now goes to stderr: the progress bar, the
Finished.line, and the progress-line clear written before a warning or error. stdout carries only data.
Full Changelog: https://github.com/WyattBlue/auto-editor/compare/31.7.0...31.7.2
- 31.7.02026-10-02 · 2026-10-02 20:58 UTC
查看更新说明
Features
- The
pixelateaction can now be animated
Fixes
- Use ffmpeg 9.0.2
Misc.
- Update the bundled whisper.cpp to 1.9.4.
Full Changelog: https://github.com/WyattBlue/auto-editor/compare/31.6.0...31.7.0
- The
- 31.6.02026-09-06 · 2026-09-06 21:01 UTC
查看更新说明
Features
- Add the
toneaudio generator:add:tone:note[:waveform]lays a MIDI-pitched sine, saw, square, or triangle wave on its own audio layer. add:now brings every stream the source holds, soadd:pip.mp4adds sound along with the picture andadd:music.mp3adds background music with no video stream.drawboxcan now be used as a generator:add:drawbox:...paints the box on its own overlay layer instead of onto the picture.
Fixes
- Skip audio streams no decoder can read, like some tracks in iPhone Spatial Audio recordings.
- Name the codec when a decoder can't be found.
Misc.
- Update the bundled x265 to 4.3 and libvpx to 1.17.0.
Full Changelog: https://github.com/WyattBlue/auto-editor/compare/31.5.0...31.6.0
- Add the
- 31.5.02026-08-13 · 2026-08-13 18:43 UTC
查看更新说明
Features
- Add the
confettiaction. - Let
add:nameconfettiin place of a file, drawing it onto a transparent layer over the picture instead of baking it in - Add the
pitchaction to shift a section by -24 to 24 semitones without changing its speed or duration. - Add
-g/--gopto set the maximum number of frames between keyframes. - Stack multiple effects on one clip when exporting fcp7 XML.
- Update the bundled FFmpeg to 9.0.1.
Performance
- Let the per-frame libswscale contexts use every core.
Fixes
- Pick
mp4for the default output name when the timeline gains a video track a container cannot hold, instead of writing an audio-only file and silently dropping video. - Use a one second GOP for fragmented output.
Misc.
- Support both FFmpeg 8.1 and 9.0.
- Drop the AVX-512 code paths from the bundled x264, x265, libvpx, and SVT-AV1 on Intel macOS.
Full Changelog: https://github.com/WyattBlue/auto-editor/compare/31.4.2...31.5.0
- Add the
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Auto-Editor is a command line application for automatically editing video and audio by analyzing a variety of methods, most notably audio loudness.
Before doing the real editing, you first cut out the "dead space" which is typically silence. This is known as a "first pass". Cutting these is a boring task, especially if the video is very long.
auto-editor path/to/your/video.mp4
See Installing for more information.
npx skills add WyattBlue/auto-editor
Change the pace of the edited video by using --margin.
--margin adds in some "silent" sections to make the editing feel nicer.
# Add 0.2 seconds of padding before and after to make the edit nicer.
# `0.2s` is the default value for `--margin`
auto-editor example.mp4 --margin 0.2sec
# Add 0.3 seconds of padding before, 1.5 seconds after
auto-editor example.mp4 --margin 0.3s,1.5sec
Methods for Making Automatic Cuts
The --edit option is how auto-editor makes automated cuts.
For example, edit out motionlessness in a video by setting --edit motion.
# cut out sections where the total motion is less than 2%.
auto-editor example.mp4 --edit motion:threshold=0.02
# `--edit audio:threshold=0.04,stream=all` is used by default.
auto-editor example.mp4
# Different tracks can be set with different attribute.
auto-editor multi-track.mov --edit "(or audio:stream=0 audio:threshold=10%,stream=1)"
Different editing methods can be used together.
# 'threshold' is always the first argument for edit-method objects
auto-editor example.mp4 --edit "(or audio:0.03 motion:0.06)"
You can also use dB unit, a volume unit familiar to video-editors (case-sensitive):
auto-editor example.mp4 --edit audio:-19dB
auto-editor example.mp4 --edit audio:-7dB
auto-editor example.mp4 --edit motion:-19dB
Labels
Every moment gets an integer label: 0 is silent (cut by default), 1 is active (kept). --edit sets what's label 1; -w:0/-w:1 set each one's action. Add more classes with --edit:N and --when:N (N up to 255); where they overlap, the higher label wins.
# Cut silence, keep speech, and additionally speed up the loud parts
auto-editor example.mp4 --edit:2 audio:-12dB --when:2 speed:1.5
As a value (not a label), --edit 1 keeps everything and --edit 0 cuts everything. See the actions docs for more.
See What Auto-Editor Cuts Out
To export what auto-editor normally cuts out. Set --when-active to cut and --when-inactive to nil (leave as is). This is the reverse of the usual default values.
auto-editor example.mp4 --when-active cut --when-inactive nil
Create an XML file that can be imported to Adobe Premiere Pro using this command:
auto-editor example.mp4 --export premiere
Auto-Editor can also export to:
- DaVinci Resolve with
--export resolve - Final Cut Pro with
--export final-cut-pro - ShotCut with
--export shotcut - Kdenlive with
--export kdenlive - CMX 3600 EDL with
--export edl - Individual media clips with
--export clip-sequence
List all available options:
auto-editor --help
Articles
Run Online and as an Application
You can run auto-editor online or download the application. They use assets from this repository (Unlicense); their own unique assets are under a separate proprietary license.
Copyright
Everything in this repository is under the Public Domain. Binary artifacts in the "Releases" section may be under various open source licenses.