[FFmpeg-user] Hardware acceleration for converting PNGs into VP9
dmngaie at gmail.com
Thu Apr 21 00:35:42 EEST 2022
On Wed, 20 Apr 2022 at 14:22, Klimek, Denis <
DKlimek at stadtwerke-norderstedt.de> wrote:
> Hi there,
> I’ve got an question regarding conversation from multiple PNGs into a VP9
> movie. Currently we are doing this job with our CPU and this is quite slow…
> about 2.5fps in average and we have multiple movies to create every hour.
> My idea was to accelerate it via an dedicated graphic card which can be
> installed into our server to speed this things up.
> Which graphic card can handle this work for me and which parameters or
> additional software pieces are required? (Vendor, Model)
> My current system is an Ubuntu 22.04 LTS 64bit and this is our current
> command line which converts the PNGs to an VP9:
> ffmpeg -y -r 4.86 -pattern_type glob -i $DIR'/*.png' -c:v libvpx-vp9 -b:v
> 0 -crf 30 -row-mt 1 -pix_fmt yuva420p -threads 8 -slices 16 -f webm
> (Codeline is snipped from a bash script which fills the variables with the
> necessary values)
> Thanks for advance for any help 😊
> Mit freundlichem Gruß
> wilhelm.tel GmbH
> Denis Klimek
> Carrier Manager & Professional Network Engineer
> Tel: +49 (0) 40 / 521 04 – 1049 -> Work From Home
> Mobil: +49 (0) 151 / 652 219 06
> dklimek at stadtwerke-norderstedt.de
> [cid:image005.png at 01D854B9.A6B5E0D0]
> wilhelm.tel GmbH
> Heidbergstraße 101-111
> 22846 Norderstedt
> Geschäftsführer: Jens Seedorff, Theo Weirich
> Vorsitzender des Aufsichtsrats: Christoph Mendel
> Handelsregister: HRB 4216 NO, Amtsgericht Kiel
> Umsatzsteuer ID: DE 81 299 7663
The closest you can get would be with either:
1. Intel's VP9 encoder wrappers for VAAPI and QuickSync (with IceLake IGPs
and above), and this is only supported on Linux (at the moment).
The QSV encoder wrapper for VP9 isn't yet functional on Windows on any
tested hardware. VAAPI is also only available on Linux.
For the VP9 QSV encoder wrapper usage, see
https://superuser.com/a/1644371/473795 for a good starting point with known
For the VP9 VAAPI encoder wrapper usage, see
https://stackoverflow.com/a/55036502/4675388 , and there are some known
limitations with that encoder too.
I'll retest this and report back as soon as I have access to Intel's
(release or engineering sample silicon's) Xe and Arc GPU products, in (both
discrete and) integrated where available.
Expect a transition towards OneVPL (from QuickSync) for these workloads as
from Intel's CometLake (10th Generation) and newer, and Intel Atom X moving
for more details.
*Special notes:* 7th Generation KBL (Kabylake) GPUs have support for VP9
encoding wired up and available via VAAPI and *unofficially* via the
media-driver package patched with the approriate hybrid encode mode
However, this comes with multiple caveats, as noted on these PRs and issues:
Which resulted in this decision not to wire up the functionality (by
default) in the media-driver package:
2. On Mac OSX:
There is potential for VP9 hardware-accelerated encoding via videotoolbox
in future(?) M-series chips, considering that we now have H/W accelerated
decoding for the same, see
Wouldn't bet too much on this (for now), but its' very feasible that Apple
will eventually enable this function on their chips at some point.
More information about the ffmpeg-user