Given the high efficiency and quality of SVT-AV1, it’s puzzling why tvai still doesn’t support this codec.
So i tried to edit the “video-encoders.json” and update the “ffmpeg.exe”
{
"id": "av1-8bit-win-svt",
"encoder": "AV1",
"profile": "8-bit svt",
"allowsAlpha": 0,
"ffmpegOpts": "-c:v libsvtav1 -preset 7 -pix_fmt yuv420p",
"bitrateOpts": {
"cbr": "-rc 2 -b:v <CONST_BITRATE_VALUE> -preset 7",
"vbr": "-rc 0 -crf 25 -preset 7"
},
"cqpValues": {
"High": [ 20 ],
"Mid": [ 25 ],
"Low": [ 30 ]
},
"ext": [
"mkv",
"webm",
"mp4"
],
"os": "windows|linux",
"device": "Nvidia|intel",
"maxBitRate": 800,
"minSize": [1,1],
"maxSize": [16384,8704],
"maxBitDepth": 8
}
It runs successfully without the model, but fails when the AI model is used. This problem appears to arise because FFmpeg “-filter_complex” does not transfer GPU memory to CPU.
WITH AI model
ffmpeg “-hide_banner” “-i” “E:/1.mp4” “-sws_flags” “spline+accurate_rnd+full_chroma_int” “-filter_complex” “tvai_up=model=ahq-12:scale=0:w=1024:h=768:blend=0.2:device=-2:vram=1:instances=1” “-c:v” “libsvtav1” “-preset” “7” “-pix_fmt” “yuv420p” “-rc” “0” “-crf” “25” “-preset” “7” “-map” “0:a?” “-map_metadata:s:a:0” “0:s:a:0” “-c:a” “copy” “-map_metadata” “0” “-map_metadata:s:v” “0:s:v” “-fps_mode:v” “passthrough” “-map” “0:s?” “-c:s” “copy” “-movflags” “frag_keyframe+empty_moov+delay_moov+use_metadata_tags+write_colr” “-bf” “0” “-metadata” “videoai=Enhanced using ahq-12; and recover original detail at 20” “E:/1_311461132.mkv”
WITHOUT AI model
ffmpeg “-hide_banner” “-i” “E:/1.mp4” “-sws_flags” “spline+accurate_rnd+full_chroma_int” “-map” “0:v:0” “-c:v” “libsvtav1” “-preset” “7” “-pix_fmt” “yuv420p” “-rc” “0” “-crf” “25” “-preset” “7” “-map” “0:a?” “-map_metadata:s:a:0” “0:s:a:0” “-c:a” “copy” “-map_metadata” “0” “-map_metadata:s:v” “0:s:v” “-fps_mode:v” “passthrough” “-map” “0:s?” “-c:s” “copy” “-movflags” “frag_keyframe+empty_moov+delay_moov+use_metadata_tags+write_colr” “-bf” “0” “E:/1_356082974.mkv”
Considering that users appear unable to modify the contents of “-filter_complex”, simply modifying the JSON file cannot enable the use of svt-AV1. Are there any ways to use svt-AV1, or any plans to support svt-AV1 in future?