2020-01-11 14:05:38 +00:00
< h1 align = "center" >
< br >
Av1an
< / br >
< / h1 >
2020-01-13 14:07:26 +00:00
< h2 align = "center" > All-in-one tool for streamlining av1 encoding< / h2 >
2020-01-11 14:05:38 +00:00
2020-01-12 03:44:02 +00:00
![alt text ](https://cdn.discordapp.com/attachments/665440744567472169/665760393498460196/banner.jpg )
2020-01-13 14:07:26 +00:00
< h2 align = "center" > Easy And Efficient < / h2 >
Start using AV1 encoding. At the moment only Aomenc and Rav1e are supported
2020-01-12 03:44:02 +00:00
Example with default parameters:
2020-01-12 11:08:04 +00:00
./avian.py -i input
2020-01-12 03:44:02 +00:00
2020-01-13 14:07:26 +00:00
With your own parameters:
2020-01-12 03:44:02 +00:00
2020-01-12 11:08:04 +00:00
./avian.py -i input -enc aomenc -e '--cpu-used=3 --end-usage=q --cq-level=30' -a '-c:a libopus -b:a 24k'
2020-01-12 03:44:02 +00:00
2020-01-13 14:07:26 +00:00
< h2 align = "center" > Usage< / h2 >
2020-01-13 14:35:17 +00:00
-i --file_path Input file (relative or absolute path)
-enc --encoder Encoder to use (aomenc or rav1e. Default: aomenc. Example: -enc rav1e)
-e --encoding_params Encoder settings flags
2020-01-13 14:49:55 +00:00
-a --audio_params FFmpeg audio settings flags (Default: -c:a copy (copy audio from source to output)
-t --workers Maximum number of workers (overrides automatically set number of workers.
Aomenc recommended value is YOUR_THREADS - 2 (Single thread per worker)
Rav1e can use tiles that uses multiple threads, example:
'--tile-rows 2 --tile-cols 2' load 2.5 to 3.5 threads, 4 is optimal for 6/12 cpu
2020-01-13 14:35:17 +00:00
-tr --threshold PySceneDetect threshold (Optimal values in range 15 - 50. Bigger value = less sensitive )
2020-01-13 14:07:26 +00:00
2020-01-12 03:44:02 +00:00
< h2 align = "center" > Main Features< / h2 >
2020-01-13 14:07:26 +00:00
**Spliting video by scenes for parallel encoding** because AV1 encoders currently not good at multithreading encoding is limited to single threads or couple of cores at the same time.
2020-01-12 03:44:02 +00:00
[PySceneDetect ](https://pyscenedetect.readthedocs.io/en/latest/ ) used for spliting video by scenes and running multiple encoders.
Simple and clean console look
2020-01-13 14:07:26 +00:00
Automatic determination of how many workers the host can handle
2020-01-12 03:44:02 +00:00
Building encoding queue with bigger files first, minimizing waiting for last scene to encode
Both video and audio encoding option with FFmpeg
2020-01-11 14:05:38 +00:00
2020-01-12 03:49:10 +00:00
And many more to go..
2020-01-11 14:15:21 +00:00
## Dependencies
* [FFmpeg ](https://ffmpeg.org/download.html )
2020-01-13 02:37:06 +00:00
* [AOMENC ](https://aomedia.googlesource.com/aom/ ) For Aomenc encoder
* [Rav1e ](https://github.com/xiph/rav1e ) For Rav1e encoder
* [PyScenedetect ](https://pyscenedetect.readthedocs.io/en/latest/ )
2020-01-11 14:15:21 +00:00
* [mkvmerge/python-pymkv ](https://pypi.org/project/pymkv/ )