<h1 align="center">
<br>
Av1an
</br>
</h1>
<h2 align="center">A cross-platform framework to streamline encoding</h2>
![alt text](https://cdn.discordapp.com/attachments/696849974666985494/774368268860915732/av1an_pick2.png)
<h4 align="center">
<a href="https://discord.gg/Ar8MvJh"><img src="https://discordapp.com/api/guilds/696849974230515794/embed.png" alt="Discord server" /></a>
<img src="https://github.com/master-of-zen/Av1an/workflows/tests/badge.svg">
<a href="https://codeclimate.com/github/master-of-zen/Av1an/maintainability"><img src="https://api.codeclimate.com/v1/badges/41ea7ad221dcdad3fe8d/maintainability" />
<img= src="https://app.codacy.com/manual/Grenight/Av1an?utm_source=github.com&utm_medium=referral&utm_content=master-of-zen/Av1an&utm_campaign=Badge_Grade_Dashboard"></a>
<a href="https://www.codacy.com/manual/Grenight/Av1an?utm_source=github.com&utm_medium=referral&utm_content=master-of-zen/Av1an&utm_campaign=Badge_Grade"><img src="https://api.codacy.com/project/badge/Grade/4632dbb2f6f34ad199142c01a3eb2aaf"/></a>
</h4>
<h2 align="center">Easy, Fast, Efficient and Feature Rich</h2>
An easy way to start using VVC / AV1 / HEVC / H264 / VP9 / VP8 encoding. AOM, RAV1E, SVT-AV1, SVT-VP9, VPX, x265, x264, VTM(Experimental) are supported.
Example with default parameters:
av1an -i input
With your own parameters:
av1an -i input -enc aom -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" -min_q 20 -max_q 60
-ff "-vf scale=-1:1080" -a "-c:a libopus -ac 2 -b:a 192k" -s scenes.csv -log my_log -o output
<h2 align="center">Usage</h2>
-i --input Input file(s) (relative or absolute path)
-o --output_file Name/Path for output file (Default: (input file name)_(encoder).mkv)
Output file ending is always `.mkv`
-enc --encoder Encoder to use
(`aom`,`rav1e`,`svt_av1`,`svt_vp9`,`vpx`,`x265`, `x264`,`vvc`)
Default: aom
Example: -enc rav1e
-v --video_params Encoder settings flags (If not set, will be used default parameters.)
Must be inside ' ' or " "
-p --passes Set number of passes for encoding
(Default: AOMENC: 2, rav1e: 1, SVT-AV1: 1, SVT-VP9: 1,
VPX: 2, x265: 1, x264: 1, VVC:1)
-w --workers Override number of workers.
-r --resume If encode was stopped/quit resumes encode with saving all progress
Resuming automatically skips scenedetection, audio encoding/copy,
spliting, so resuming only possible after actuall encoding is started.
temp folder must be presented for resume.
--no_check Skip checking numbers of frames for source and encoded chunks.
Needed if framerate changes to avoid console spam.
By default any differences in frames of encoded files will be reported.
--keep Not deleting temprally folders after encode finished.
-q --quiet Do not print tqdm to terminal.
-log --logging Path to .log file(By default created in temp folder)
--temp Set path for temporally folders. Default: .temp
-cfg --config Save/Read config file with encoder, encoder parameters,
FFmpeg and audio settings.
--mkvmerge Use mkvmerge for concatenating instead of ffmpeg.
Use in case when concatenation fails.
-c --config Save config file with given name if doesn't exists.
Reads config file with that name.
Options provided to cli overwrite config values.
All options excepth in/out/vmaf/log/temp/config paths are saved.
--webm Outputs webm file.
Use only if you're sure source video and audio is compatible.
<h3 align="center">FFmpeg options</h3>
-a --audio_params FFmpeg audio settings (Default: copy audio from source to output)
Example: -a '-c:a libopus -b:a 64k'
-ff --ffmpeg FFmpeg options video options. Applied to each encoding segment individually.
(Warning: Cropping doesn't work with Target VMAF mode without
specifying it in --vmaf_filter)
Example:
--ff " -vf scale=320:240 "
-fmt --pix_format Setting custom pixel/bit format for piping
(Default: 'yuv420p10le')
Based on encoder, options should be adjusted accordingly.
<h3 align="center">Segmenting</h3>
--split_method Method used for generating splits.(Default: PySceneDetect)
Options: `pyscene`, `aom_keyframes`, `none`
`pyscene` - PyScenedetect, content based scenedetection
with threshold.
`aom_keyframes` - using stat file of 1 pass of aomenc encode
to get exact place where encoder will place new keyframes.
(Keep in mind that speed also depends on set aomenc parameters)
`ffmpeg` - Uses ffmpeg built in content based scene detection
with threshold. Slower and less precise than pyscene but requires
fewer dependencies.
`none` - skips scenedetection. Useful for splitting by time
-cm --chunk_method Determine way in which chunks made for encoding.
By default selected best one avalable.
vs_ffms2 > vs_lsmash > hybrid
['hybrid'(default), 'select', 'vs_ffms2'(Recomended To Install), 'vs_lsmash']
-tr --threshold PySceneDetect threshold for scene detection Default: 35
-s --scenes Path to file with scenes timestamps.
If file not exist, new will be generated in current folder
First run to generate stamps, all next reuse it.
Example: "-s scenes.csv"
-xs --extra_split Adding extra splits if frame distance beetween splits bigger than
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 single scene,
-xs 200 will add splits at 200,400,600,800.
<h3 align="center">Target Quality</h3>
--target_quality Quality value to target.
VMAF used as substructure for algorithms.
Supported for all encoders(Exception:VVC).
Best works in range 85-97.
When using this mode specify full encoding options.
Encoding options must include quantizer based mode,
and some quantizer option provided. (This value got replaced)
`--crf`,`--cq-level`,`--quantizer` etc
--target_quality_method Type of algorithm for use.
Options: per_shot, per_frame.
Per frame avalable only for SVT-AV1.
--min_q, --max_q Min,Max Q values limits
If not set by user, default for encoder range will be used.
--vmaf Calculate vmaf after encode is done and ma
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Av1an-6.tar.gz (56个子文件)
Av1an-6
PKG-INFO 16KB
av1an.py 98B
Av1an.egg-info
PKG-INFO 16KB
requires.txt 69B
SOURCES.txt 1KB
entry_points.txt 38B
top_level.txt 6B
dependency_links.txt 1B
setup.cfg 38B
setup.py 1019B
av1an
vmaf
vmaf.py 11KB
__init__.py 23B
manager
Queue.py 5KB
Pipes.py 2KB
Manager.py 5KB
Counter.py 1KB
__init__.py 25B
ffmpeg
__init__.py 21B
ffmpeg.py 3KB
chunk
Chunk.py 4KB
__init__.py 25B
chunk_queue.py 10KB
concat.py 5KB
utils.py 2KB
logger.py 1KB
target_quality
__init__.py 94B
target_quality.py 22KB
resume.py 1KB
fp_reuse.py 3KB
__main__.py 325B
arg_parse.py 11KB
commandtypes.py 496B
__init__.py 77B
startup
file_validation.py 777B
__init__.py 0B
setup.py 3KB
validate_commands.py 2KB
project
__init__.py 29B
Project.py 8KB
encoder
vvc.py 6KB
encoder.py 6KB
svtvp9.py 2KB
svtav1.py 3KB
vpx.py 2KB
x265.py 2KB
x264.py 2KB
__init__.py 370B
aom.py 2KB
rav1e.py 2KB
scenedetection
pyscene.py 3KB
__init__.py 119B
ffmpeg.py 2KB
aom_kf.py 10KB
vapoursynth.py 2KB
split.py 6KB
README.md 13KB
共 56 条
- 1
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功