jeanslack / Videomass

Videomass is a free, open source and cross-platform GUI for FFmpeg and yt-dlp
https://jeanslack.github.io/Videomass/
GNU General Public License v3.0
1.06k stars 49 forks source link

av1_nvenc hardware encoding #259

Open johannesdedoper opened 8 months ago

johannesdedoper commented 8 months ago

Hello,

Hope everything well in Italy! Still using your awesome tool ;)

I was wondering if there is/will there be support for av1_nvenc as it is possible to compile ffmpeg 6 with av1_nvenc ? I can than test this to create some presets as I have a Nvidia 4xxx gpu.

Hope to here from you. Ciao, J.

jeanslack commented 8 months ago

Hello Johannes, How are you? Nice to hear from you again.

I haven't compiled FFmpeg 6 yet, I just compiled version 4.4 on Slackware with support for the latest version of libaom (v3.6) and have noticed notable improvements. I think av1 deserves attention at this point.

Great news! I'm waiting for your av1_nvenc presets.

Ciao!

jeanslack commented 8 months ago

I was wondering if there is/will there be support for av1_nvenc as it is possible to compile ffmpeg 6 with av1_nvenc ?

As far as I know, in ffmpeg 6 there would be support for vulkan hardware acceleration using AV1.

version 6.1:

johannesdedoper commented 8 months ago

Hello again ;)

I did some research.

From FFmpeg 6.0 onwards hardware AV1 encoding should be supported.

More on 6.1 and the 7.0 release of FFmpeg : ffmpeg-6-1-heaviside-released-with-vaapi-av1-encoder-hw-vulkan-decoding

The user should compile FFmpeg version 6.1.1. My Linux OS still used the FFmpeg 4.3 release Check for your version: ffmpeg -version

Linux: How to update/install to the latest version of FFmpeg with av1_nvenc ! You need to compile from source and install FFmpeg to get the latest version with av1_nvenc. Use this for how to compile and install correctly: compiling FFmpeg with nvenc av1

In this same document you can also read how to compile for Windows.

Afterwards test if av1_nvenc is installed correctly: ffmpeg -h encoder=av1_nvenc

I got an error: /usr/bin/ffmpeg: No such file or directory If you get this error on Linux just copy the compiled ffmpeg files (ffplay, ffprobe and ffmpeg), from where ever they are installed, to the /usr/bin/ffmpeg directory. On Linux the most likely place to search for the files is /usr/local/bin/ffmpeg.

Then open Videomass, make a new simple preset to test: -c:v av1_nvenc -b:v 8M -c:a copy with output format mkv This should work!

Cheers, J.

jeanslack commented 8 months ago

Thanks a lot, It can be useful to us.