Releases: WyattBlue/auto-editor
21w35a
What's New
Allow POSIX style options, ex --frame-margin
, --export-to-premiere
New subcommand: subdump
. Dump subtitles to the console.
Full Changelog: 21w34a...21w35a
21w34a
What's New
- Subtitles now get copied and edited
- bad
pix_fmt
s will now either get converted or throw an error. info
subcommand:- fix some subtitle streams not displaying
- new alias
--has_vfr
for--include_vfr
Dev Stuff
- remove an unnecessary file copy, change name of one temp file
- add version requirements for av and audiotsm2
- renamed more camelCases
Full Changelog: 21w30a...21w34a
21w30a
What's New
new option --has_vfr
, get a speed boost by skipping detecting VFR frames manually setting it instead.
new option --add_in
, the inverse --cut_out
, add in a user-defined section.
new choice for --edit
, all
, skip automatic edits and cut out everything. Best used with --add_in
.
info
subcommand now detects codecs for subtitle streams and the language for audio streams.
Greatly improved the grep
subcommand:
- new options,
--time
,--timecode
,--no_filename
- subtitles are sanitized, (no random xml-like tags)
fixed --mark_as_loud
and --mark_as_silent
not being applied to frame margin and minimum clip/cut like it's supposed to.
Dev Stuff
- Debug messages are prettier and more concise.
setup.py
marked as available for the upcoming python 3.10 release.
Full Changelog: 21w28a...21w30a
21w28a
What's New
Units are now handled in a uniform fashion.
- Invalid numbers now only trigger errors, not crashes.
- Spaces are allow in all units now. (exp
--frame_margin "30 frames"
)
Here's a list of all the units and their aliases in this version:
- Seconds units: s, sec, secs, second, seconds
- Frame units: f, frame, frames
- Sample units: Hz, kHz
- Percent: %
Other Stuff:
- Backwards range (example
--cut_out 30,-50
) now works, is tested, and will be added to documentation soon - Fixed crash related to URL inputs when neither a cookiefile path or an archive path are specified
In The Future
Add more documentation, both internal and external, on what units do, where you can use them.
Tip: you can use the percent unit in any float_type option.
Dev Stuff
- Updated typing info so that it can be understood by mypy
- GitHub Actions Workflow updated so that:
- changes in main dunder init don't trigger testing
- youtube-dl is installed
- URL inputs are now tested.
Full Changelog: 21w26a...21w28a
21w26a
What's New
- GIFs are now supported
- Added alias
--margin
for--frame_margin
and--edit
for--edit_based_on
- New choice
none
for--edit_based_on
- Fixed spelling in some help messages
- Fixed fps detection that was affecting some videos
- Fixed width and height detection that was affecting some videos
Dev Stuff
- Testing improved
- Various other small improvements
Full Changelog: 21w25a...21w26a
21w25a
What's New
Fixed many regressions with --export_to_premiere
- width and height are always a number now, and never
None
- The xmls to references to more than one file are now made correctly again.
- Added back the stereo attribute in the audio clips in the xml file.
Added SponsorBlock Integration. When downloading videos from YouTube, you can cut out sponsors, intros, self promotions and more using the --block
option.
auto-editor "https://youtube.com/watch?v=kG7qmYHeB2c" --block sponsor,intro,outro,selfpromo,interaction
SponsorBlock also works with local files, just add use the --id
option to set the YouTube id.
auto-editor "videos/4 Incredible Instances of Lost Media in Speedrunning.mp4" --id kG7qmYHeB2c --block sponsor
New option. --ffmpeg_location
, this does exactly what it says it does.
auto-editor example.mp4 --ffmpeg_location /usr/local/bin/ffmpeg.exe
Various youtube-dl options that were too useful to be included in auto-editor.
--limit_rate
Limits how fast auto-editor will download online videos. Helps make sure you don't get throttled or blocked by the server.--download_archive
Write down the urls to videos you've downloaded. If used, prevents auto-editor from downloading the same video twice.--cookies
Read and write browser cookies. Helps the server track you and make sure you don't get throttled or blocked by the server.
Full Changelog: 21w24a...21w25a
21w24a
What's New
Search for media subtitles with regex with the new grep subcommand.
Usage:
auto-editor grep [PATTERN] [FILE]
Example:
auto-editor grep op resources/subtitle.mp4
grep has a number of options as well.
auto-editor grep -h
--max_count, -m: Stop reading a file after NUM matching lines
--count, -c: Suppress normal output; instead print count of matching lines for
each file.
--ignore_case, -i: Ignore case distinctions for the PATTERN.
--my_ffmpeg: use your ffmpeg and other binaries instead of the ones packaged.
--help, -h: print info about the program or an option and exit.
input: the path to a file you want inspected.
Auto-Editor will now gracefully exit when interrupted.
Before:
[wyattblue] auto-editor % auto-editor example.mp4
^CTraceback (most recent call last):░░░░░░] 23.4% done ETA 22:04
File "/usr/local/bin/auto-editor", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.9/site-packages/auto_editor/__main__.py", line 730, in main
makeVideoFile(inp, chunks, newOutput)
File "/usr/local/lib/python3.9/site-packages/auto_editor/__main__.py", line 701, in makeVideoFile
renderAv(ffmpeg, inp, args, chunks, speeds, fps, has_vfr, TEMP, log)
File "/usr/local/lib/python3.9/site-packages/auto_editor/renderVideo.py", line 128, in renderAv
in_bytes = frame.to_ndarray().tobytes()
File "av/video/frame.pyx", line 261, in av.video.frame.VideoFrame.to_ndarray
File "av/video/frame.pyx", line 58, in av.video.frame.useful_array
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 982, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 925, in _find_spec
File "<frozen importlib._bootstrap_external>", line 1414, in find_spec
File "<frozen importlib._bootstrap_external>", line 1386, in _get_spec
File "<frozen importlib._bootstrap_external>", line 1513, in find_spec
File "<frozen importlib._bootstrap_external>", line 142, in _path_stat
KeyboardInterrupt
After
[wyattblue] % auto-editor example.mp4
^C
Error! Keyboard Interrupt
Dev Stuff
Added future statements.
Renamed more camelCase variables to snake_case
Reorganized a lot of files. for example, renderVideo.py to render/av.py and render/opencv.py.
Fixed some minor issues in the Installing article.
Future
all camelCase files will eventually be moved.
vanparse will be rewritten so that it can support Python 2.7
Linking audio-video clips doesn't work in DaVinci Resolve 17, although some steps have been taken, it appears that the problem persists.
Full Changelog: 21w22a...21w24a
21w22a
What's new
Improved the info subcommand auto-editor info your_file.mp4
Added export to Shotcut --export_to_shotcut
-exs
removed the --force_tracks_to
option.
Full Changelog: 21w21a...21w22a
21w21a
What's New
Changed --video_codec
default from copy
back to uncompressed
fixed an import statement
Full Changelog: 21w20c...21w21a