HaveAGitGat / Tdarr

Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
Other
3k stars 92 forks source link

Cannot use libaom-av1 #1051

Open Termibg22 opened 3 months ago

Termibg22 commented 3 months ago

I'm trying to encode with libaom-av1 but Tdarr gives me the following error:

Unknown decoder 'libaom-av1'

I'm using the Tdarr_Plugin_075a_Transcode_Customisable but I also tried with ffmpegCommandCustomArguments with the same result.

I think it's because of this:

2024-07-28T15:41:17.897Z configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc

Should be there any --enable-libaom flag?

taltamir commented 1 week ago

should be there any --enable-libaom flag?

I looked into it further. currently none of the av1 libraries are enabled by default with the ffmpeg version that is bundled with tdarr node installed via tdarr updater for linux. the docker version does have av1 enabled though. It really should enable av1 for the regular node releases.

as a workaround you can for now try installing ffmpeg for your OS and then editing the node config json file to set the path to ffmpeg to use your OS' release of it. this should include an av1 library you can use.

Although, I think libsvtav1 should be used instead of libaom. according to ffmpeg documentation

libaom (libaom-av1) is the reference encoder for the AV1 format. It was also used for research during the development of AV1. libaom is based on libvpx and thus shares many of its characteristics in terms of features, performance, and usage.

SVT-AV1 (libsvtav1) is an encoder originally developed by Intel in collaboration with Netflix. In 2020, SVT-AV1 was adopted by AOMedia as the basis for the future development of AV1 as well as future codec efforts. The encoder supports a wide range of speed-efficiency tradeoffs and scales fairly well across many CPU cores.

So libaom is obsolete and should be replaced by libsvtav1