Unmanic / unmanic

Unmanic - Library Optimiser
GNU General Public License v3.0
1.41k stars 84 forks source link

Feature request: Add CPU AV1 Encoding to the "Transcode Video Files" plugin #471

Open soultaco83 opened 1 month ago

soultaco83 commented 1 month ago

Description

I would like to request to have cpu added to the AV1 video codec drop down. Currently only option is QSV. Looks like, based on ffmpeg docs, we can use libsvtav1. I am not sure though if the Jellyfin-ffmpeg6 is built with libsvtav1

SVT-AV1
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.

To enable support, FFmpeg needs to be built with --enable-libsvtav1. For options available in your specific build of FFmpeg, see ffmpeg -help encoder=libsvtav1. See also [​FFmpeg documentation](https://www.ffmpeg.org/ffmpeg-all.html#libsvtav1), the upstream [​encoder user guide](https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/svt-av1_encoder_user_guide.md) and [​list of all parameters](https://gitlab.com/AOMediaCodec/SVT-AV1/-/blob/master/Docs/Parameters.md).

Many options are passed to the encoder with -svtav1-params. This was introduced in SVT-AV1 0.9.1 and has been supported since FFmpeg 5.1.

CRF is the default rate control method, but VBR and CBR are also available.