Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

av1_nvenc hardware encoding #259

Open
johannesdedoper opened this issue Jan 27, 2024 · 4 comments
Open

av1_nvenc hardware encoding #259

johannesdedoper opened this issue Jan 27, 2024 · 4 comments
Labels
question Further information is requested

Comments

@johannesdedoper
Copy link

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
Copy link
Owner

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
Copy link
Owner

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:

  • libaribcaption decoder
  • Playdate video decoder and demuxer
  • Extend VAAPI support for libva-win32 on Windows
  • afireqsrc audio source filter
  • arls filter
  • ffmpeg CLI new option: -readrate_initial_burst
  • zoneplate video source filter
  • command support in the setpts and asetpts filters
  • Vulkan decode hwaccel, supporting H264, HEVC and AV1
  • color_vulkan filter
  • bwdif_vulkan filter
  • nlmeans_vulkan filter
  • RivaTuner video decoder
  • xfade_vulkan filter
  • vMix video decoder
  • Essential Video Coding parser, muxer and demuxer
  • Essential Video Coding frame merge bsf
  • bwdif_cuda filter
  • Microsoft RLE video encoder
  • Raw AC-4 muxer and demuxer
  • Raw VVC bitstream parser, muxer and demuxer
  • Bitstream filter for editing metadata in VVC streams
  • Bitstream filter for converting VVC from MP4 to Annex B
  • scale_vt filter for videotoolbox
  • transpose_vt filter for videotoolbox
  • support for the P_SKIP hinting to speed up libx264 encoding
  • Support HEVC,VP9,AV1 codec in enhanced flv format
  • apsnr and asisdr audio filters
  • OSQ demuxer and decoder
  • Support HEVC,VP9,AV1 codec fourcclist in enhanced rtmp protocol
  • CRI USM demuxer
  • ffmpeg CLI '-top' option deprecated in favor of the setfield filter
  • VAAPI AV1 encoder
  • ffprobe XML output schema changed to account for multiple
    variable-fields elements within the same parent element
  • ffprobe -output_format option added as an alias of -of

@johannesdedoper
Copy link
Author

johannesdedoper commented Jan 30, 2024

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
Copy link
Owner

Thanks a lot,
It can be useful to us.

@jeanslack jeanslack added the question Further information is requested label Feb 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants