mirror of
https://github.com/master-of-zen/Av1an.git
synced 2024-11-24 18:18:06 +00:00
improve readme
This commit is contained in:
parent
bf1b6e98b8
commit
5e7f8841a3
1 changed files with 21 additions and 63 deletions
84
README.md
84
README.md
|
@ -23,10 +23,8 @@ Example with default parameters:
|
||||||
|
|
||||||
With your own parameters:
|
With your own parameters:
|
||||||
|
|
||||||
av1an -i input -e aom -v " --cpu-used=3 --end-usage=q --cq-level=30 --threads=8 " -w 10
|
av1an -i input -v " --cpu-used=3 --end-usage=q --cq-level=30 --threads=8 " -w 10
|
||||||
--split-method aom_keyframes --target-quality 95 --vmaf-path "vmaf_v0.6.1.pkl"
|
--target-quality 95 -a "-c:a libopus -ac 2 -b:a 192k" -log my_log -o output
|
||||||
-min-q 20 -max-q 60 -f "-vf scale=-1:1080" -a "-c:a libopus -ac 2 -b:a 192k"
|
|
||||||
-s scenes.csv -log my_log -o output
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -39,9 +37,7 @@ With your own parameters:
|
||||||
Output file ending is always `.mkv`
|
Output file ending is always `.mkv`
|
||||||
|
|
||||||
-e --encoder Encoder to use
|
-e --encoder Encoder to use
|
||||||
(`aom`,`rav1e`,`svt_av1`,`vpx`,`x265`, `x264`)
|
[default: aom] [possible values: aom, rav1e, vpx, svt-av1, x264, x265]
|
||||||
Default: aom
|
|
||||||
Example: -enc rav1e
|
|
||||||
|
|
||||||
-v --video-params Encoder settings flags (If not set, will be used default parameters.)
|
-v --video-params Encoder settings flags (If not set, will be used default parameters.)
|
||||||
Must be inside ' ' or " "
|
Must be inside ' ' or " "
|
||||||
|
@ -52,10 +48,7 @@ With your own parameters:
|
||||||
|
|
||||||
-w --workers Override number of workers.
|
-w --workers Override number of workers.
|
||||||
|
|
||||||
-r --resume If encode was stopped/quit resumes encode with saving all progress.
|
-r --resume Resumes encoding.
|
||||||
Resuming automatically skips scenedetection, audio encoding/copy,
|
|
||||||
splitting, so resuming only possible after actual encoding is started.
|
|
||||||
Temp folder must be present to resume.
|
|
||||||
|
|
||||||
--keep Doesn't delete temporary folders after encode has finished.
|
--keep Doesn't delete temporary folders after encode has finished.
|
||||||
|
|
||||||
|
@ -63,7 +56,7 @@ With your own parameters:
|
||||||
|
|
||||||
-l --logging Path to .log file(By default created in temp folder)
|
-l --logging Path to .log file(By default created in temp folder)
|
||||||
|
|
||||||
--temp Set path for the temporary folder. Default: .temp
|
--temp Set path for the temporary folder. [default: .hash]
|
||||||
|
|
||||||
-c --concat Concatenation method to use for splits Default: ffmpeg
|
-c --concat Concatenation method to use for splits Default: ffmpeg
|
||||||
[possible values: ffmpeg, mkvmerge, ivf]
|
[possible values: ffmpeg, mkvmerge, ivf]
|
||||||
|
@ -85,31 +78,20 @@ With your own parameters:
|
||||||
|
|
||||||
--pix-format Setting custom pixel/bit format for piping
|
--pix-format Setting custom pixel/bit format for piping
|
||||||
(Default: 'yuv420p10le')
|
(Default: 'yuv420p10le')
|
||||||
Options should be adjusted accordingly, based on the encoder.
|
|
||||||
|
|
||||||
<h3 align="center">Segmenting</h3>
|
<h3 align="center">Segmenting</h3>
|
||||||
|
|
||||||
--split-method Method used for generating splits.(Default: av-scenedetect)
|
--split-method Method used for generating splits.(Default: av-scenedetect)
|
||||||
Options: `av-scenedetect`, `none`
|
Options: `av-scenedetect`, `none`
|
||||||
`none` - skips scenedetection. Useful for splitting by time
|
`none` - skips scenedetection.
|
||||||
|
|
||||||
-m --chunk-method Determine the method in which chunks are made for encoding.
|
-m --chunk-method Determine the method in which chunks are made for encoding.
|
||||||
By default the best method is selected automatically in this order:
|
By default the best method is selected automatically.
|
||||||
vs_ffms2 > vs_lsmash > hybrid.
|
[possible values: segment, select, ffms2, lsmash, hybrid]
|
||||||
vs_ffms2 or vs_lsmash are recommended.
|
|
||||||
['hybrid'(default), 'select', 'vs_ffms2', 'vs_lsmash']
|
|
||||||
|
|
||||||
-s --scenes Path to file with scenes timestamps.
|
-s --scenes File to save/read scenes.
|
||||||
If the file doesn't exist, a new file will be generated
|
|
||||||
in the current folder.
|
|
||||||
First run to generate stamps, all next reuse it.
|
|
||||||
Example: "-s scenes.csv"
|
|
||||||
|
|
||||||
-x --extra-split Adding extra splits if frame distance between splits bigger than the
|
-x --extra-split Size of chunk after which it will be split [default: 240]
|
||||||
given value. Pair with none for time based splitting or with any
|
|
||||||
other splitting method to break up massive scenes.
|
|
||||||
Example: 1000 frames video with a single scene,
|
|
||||||
-xs 200 will add splits at 200,400,600,800.
|
|
||||||
|
|
||||||
--min-scene-len Specifies the minimum number of frames in each split.
|
--min-scene-len Specifies the minimum number of frames in each split.
|
||||||
|
|
||||||
|
@ -117,12 +99,7 @@ With your own parameters:
|
||||||
|
|
||||||
--target-quality Quality value to target.
|
--target-quality Quality value to target.
|
||||||
VMAF used as substructure for algorithms.
|
VMAF used as substructure for algorithms.
|
||||||
Supported in all encoders supported by Av1an.
|
When using this mode, you must use quantizer/quality modes of enocoder.
|
||||||
Best works in range 85-97.
|
|
||||||
When using this mode, you must specify full encoding options.
|
|
||||||
These encoding options must include a quantizer based mode,
|
|
||||||
and some quantizer option provided. (This value will be replaced)
|
|
||||||
`--crf`,`--cq-level`,`--quantizer` etc
|
|
||||||
|
|
||||||
--target-quality-method Type of algorithm for use.
|
--target-quality-method Type of algorithm for use.
|
||||||
Options: per_shot
|
Options: per_shot
|
||||||
|
@ -138,55 +115,41 @@ With your own parameters:
|
||||||
(`vmaf_v0.6.1.pkl` and `vmaf_v0.6.1.pkl.model`)
|
(`vmaf_v0.6.1.pkl` and `vmaf_v0.6.1.pkl.model`)
|
||||||
(Required if VMAF calculation doesn't work by default)
|
(Required if VMAF calculation doesn't work by default)
|
||||||
|
|
||||||
--vmaf-res Resolution scaling for VMAF calculation,
|
--vmaf-res Resolution for VMAF calculation.
|
||||||
vmaf_v0.6.1.pkl is 1920x1080 (by default),
|
[default: 1920x1080]
|
||||||
vmaf_4k_v0.6.1.pkl is 3840x2160 (don't forget about vmaf-path)
|
|
||||||
|
|
||||||
--probes Number of probes for interpolation.
|
--probes Number of probes for target quality. [default: 4]
|
||||||
1 and 2 probes have special cases to try to work with few data points.
|
|
||||||
The optimal level is 4-6 probes. Default: 4
|
|
||||||
|
|
||||||
--probe-slow Use video encoding parameters for vmaf probes to get a more
|
--probe-slow Use probided video encoding parameters for vmaf probes.
|
||||||
accurate Q at the cost of speed.
|
|
||||||
|
|
||||||
--vmaf-filter Filter used for VMAF calculation. The passed format is filter_complex.
|
--vmaf-filter Filter used for VMAF calculation. The passed format is filter_complex.
|
||||||
So if crop filter used ` -ff " -vf crop=200:1000:0:0 "`
|
So if crop filter used ` -ff " -vf crop=200:1000:0:0 "`
|
||||||
`--vmaf-filter` must be : ` --vmaf-filter "crop=200:1000:0:0"`
|
`--vmaf-filter` must be : ` --vmaf-filter "crop=200:1000:0:0"`
|
||||||
|
|
||||||
--probing-rate Setting rate for VMAF probes (Every N frame used in probe, Default: 4)
|
--probing-rate Setting rate for VMAF probes. Using every N frame used in probe.
|
||||||
|
[default: 4]
|
||||||
|
|
||||||
--vmaf-threads Limit number of threads that are used for VMAF calculation
|
--vmaf-threads Limit number of threads that are used for VMAF calculation
|
||||||
Example: --vmaf-threads 12
|
|
||||||
(Required if VMAF calculation gives error on high core counts)
|
|
||||||
|
|
||||||
<h2 align="center">Main Features</h2>
|
<h2 align="center">Main Features</h2>
|
||||||
|
|
||||||
**Splitting video by scenes for parallel encoding** because AV1 encoders are currently not very good at multithreading and encoding is limited to a very limited number of threads.
|
**Splitting video by scenes for parallel encoding** because AV1 encoders are currently not very good at multithreading and encoding is limited to a very limited number of threads.
|
||||||
|
|
||||||
- [Vapoursynth](http://www.vapoursynth.com) script input support.
|
- [Vapoursynth](http://www.vapoursynth.com) script input support.
|
||||||
- Fastest way to encode AV1 without losing quality, as fast as many CPU cores you have :).
|
- Speed up video encoding.
|
||||||
- Target Quality mode. Targeting end result reference visual quality. VMAF used as a substructure
|
- Target Quality mode. Targeting end result reference visual quality. VMAF used as a substructure
|
||||||
- Resuming encoding without loss of encoded progress.
|
- Resuming encoding without loss of encoded progress.
|
||||||
- Simple and clean console look.
|
- Simple and clean console look.
|
||||||
- Automatic detection of the number of workers the host can handle.
|
- Automatic detection of the number of workers the host can handle.
|
||||||
- Builds the encoding queue with bigger files first, minimizing waiting for the last scene to encode.
|
- Both video and audio transcoding.
|
||||||
- Both video and audio transcoding with FFmpeg.
|
|
||||||
- Logging of the progress of all encoders.
|
|
||||||
|
|
||||||
## Install
|
## Install
|
||||||
|
|
||||||
<h2 align="center">Warning! Av1an GIT is currently under state of changing. Building and using latest Av1an GIT is differs from PIP stable.
|
|
||||||
|
|
||||||
[For current latest follow this instructions](https://gist.github.com/master-of-zen/0833bec1e7df72ed165083cd44e9187b). If latest changes not required, just use PIP version</h2>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Prerequisites:
|
- Prerequisites:
|
||||||
- [Windows Prebuilds](https://ci.appveyor.com/project/master-of-zen/av1an/build/artifacts)
|
|
||||||
- [Install Python3](https://www.python.org/downloads/) <br>
|
|
||||||
When installing under Windows, select the option `add Python to PATH` in the installer
|
|
||||||
- [Install FFmpeg](https://ffmpeg.org/download.html)
|
- [Install FFmpeg](https://ffmpeg.org/download.html)
|
||||||
- Recommended to install vapoursynth with lsmash for faster and better processing
|
- Recommended to install vapoursynth with lsmash/ffms2 for faster and better processing
|
||||||
|
|
||||||
- Encoder of choice:
|
- Encoder of choice:
|
||||||
- [Install AOMENC](https://aomedia.googlesource.com/aom/)
|
- [Install AOMENC](https://aomedia.googlesource.com/aom/)
|
||||||
|
@ -203,16 +166,11 @@ With your own parameters:
|
||||||
- [mkvmerge](https://mkvtoolnix.download/)
|
- [mkvmerge](https://mkvtoolnix.download/)
|
||||||
|
|
||||||
- With a package manager:
|
- With a package manager:
|
||||||
|
|
||||||
- [PyPI](https://pypi.org/project/Av1an/)
|
|
||||||
- [AUR](https://aur.archlinux.org/packages/python-av1an/)
|
- [AUR](https://aur.archlinux.org/packages/python-av1an/)
|
||||||
|
|
||||||
- Manually:
|
- Manually:
|
||||||
- Clone Repo or Download from Releases
|
- Clone Repo or Download from Releases
|
||||||
- `python setup.py install`
|
- `cargo build --release`
|
||||||
|
|
||||||
- Also:
|
|
||||||
On Ubuntu systems, the packages `python3-opencv` and `libsm6` are required
|
|
||||||
|
|
||||||
## Docker
|
## Docker
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue