Aomenc by gop
Project description
aomenc-by-gop
Runs aomenc in parallel per group of pictures
Features
- Frame accurate GOP encoding
- aomenc equivalent GOP selection
- Easy resuming
- Usage within Python for automation
- Minimal amount of dependencies
- Dark boost
Requirements
Usage
aomenc-by-gop -i INPUT OUTPUT AOMENC_ARGS
aomenc-by-gop --help
usage: aomenc-by-gop [--help] -i INPUT [--workers WORKERS] [--passes PASSES]
[--kf-max-dist KF_MAX_DIST] [-u USE] [-s START] [-e END]
[-y] [--copy-timestamps] [--timestamps TIMESTAMPS]
[--fps FPS] [--mux] [--keyframes KEYFRAMES]
[--working-dir WORKING_DIR] [--keep] [--aomenc AOMENC]
[--vspipe VSPIPE] [--mkvmerge MKVMERGE]
[--mkvextract MKVEXTRACT] [--ranges RANGES] [--webm]
[--darkboost] [--darkboost-file DARKBOOST_FILE]
[--darkboost-profile DARKBOOST_PROFILE] [--show-segments]
[--extra-filter EXTRA_FILTER]
output
positional arguments:
output
optional arguments:
--help
-i INPUT, --input INPUT
--workers WORKERS
--passes PASSES
--kf-max-dist KF_MAX_DIST
-u USE, --use USE VS source filter (ex. lsmas.LWLibavSource)
-s START, --start START
Input start frame
-e END, --end END Input end frame
-y Skip warning / overwrite output.
--copy-timestamps Copy timestamps from input file. Support for variable
frame rate.
--timestamps TIMESTAMPS
Timestamps file
--fps FPS Output framerate (ex. 24000/1001). Use "auto" to
determine automatically.
--mux Mux with contents of input file.
--keyframes KEYFRAMES
Path to keyframes file
--working-dir WORKING_DIR
Path to working directory. Allows resuming and does not
remove files after completion.
--keep Do not delete temporary working directory.
--aomenc AOMENC Path to aomenc
--vspipe VSPIPE Path to vspipe
--mkvmerge MKVMERGE Path to mkvmerge
--mkvextract MKVEXTRACT
Path to mkvmerge. Required for VFR.
--ranges RANGES frame_n:arguments;frame_n2:arguments
--webm
--darkboost Enable dark boost.
--darkboost-file DARKBOOST_FILE
Path to darkboost cache
--darkboost-profile DARKBOOST_PROFILE
Available profiles: conservative, light, medium
--show-segments Show individual segments' progress.
--extra-filter EXTRA_FILTER
Extra vapoursynth filtering (ex. cropping). Input and
output is clip.
Simple 2 pass encode:
aomenc-by-gop -i file.mkv out.mkv
Other examples:
aomenc-by-gop -i input.mkv out.mkv --copy-timestamps --workers 6 --kf-max-dist=120 --threads=8 --cpu-used=6
aomenc-by-gop -i input.mkv out.webm -s 100 -e 200 --threads=8 --cpu-used=6
Enable resuming:
aomenc-by-gop -i input.mkv out.mkv --working-dir project
Save/use onepass keyframes file
aomenc-by-gop -i input.mkv out.mkv --keyframes input.txt
Enable resuming using a different onepass keyframes file
aomenc-by-gop -i input.mkv out.mkv --working-dir project --keyframes input.txt
Use vpxenc:
aomenc-by-gop -i input out.mkv --aomenc vpxenc
Example cropping:
aomenc-by-gop -i input out.mkv --extra-filter="clip = clip.std.Crop(top=140, bottom=140)"
Extra Filter
Available variables are vs
for vapoursynth and clip
for the clip.
Example Python Usage
from aomenc_by_gop.app import encode, DefaultArgs
args = {
"workers": 4,
"fps": "auto",
"darkboost": True,
"input": "flt/01.mkv",
"output": "enc/01.mkv",
"working_dir": "gop/01",
"keyframes": "kf/01.txt",
}
aom_args = [
"--threads=4",
"--good",
"--cpu-used=2",
"--tile-columns=1",
"--row-mt=1",
"--cq-level=8",
"--end-usage=q",
"--enable-dnl-denoising=0",
"--denoise-noise-level=10",
]
ranges = [
(5000, ["--denoise-noise-level=1"]), # low noise
(6000, ["--denoise-noise-level=10"]),
(7000, ["--cq-level=10"], True), # ignore dark boost
]
encode(DefaultArgs(**args), aom_args, ranges)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for aomenc_by_gop-0.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ba10f887dd60afc9d90b870691d9893ed4524e56948772a0406a648157acb36 |
|
MD5 | 829b59be1239e3a5b863b59a9df00a87 |
|
BLAKE2b-256 | 4e239a849a55124b0439ab54170baca7ab51a1c124ec30c2c285ca52782daa9d |