README: vaapi plugins are deprecated in favor of va plugins

This commit is contained in:
F. Duncanh
2025-11-06 03:20:56 -05:00
parent bdd82f621d
commit 41bfb9934c
3 changed files with 141 additions and 80 deletions

View File

@@ -257,11 +257,14 @@ h264 format: gstreamer decoding is plugin agnostic, and uses accelerated
GPU hardware h264 decoders if available; if not, software decoding is
used.
- **VAAPI for Intel and AMD integrated graphics, NVIDIA with "Nouveau"
- **VA-API for Intel and AMD integrated graphics, NVIDIA with "Nouveau"
open-source driver**
With an Intel or AMD GPU, hardware decoding with the open-source
VAAPI gstreamer plugin is preferable. The open-source "Nouveau"
VA-API gstreamer plugins is preferable. (Newer "va" versions of these
plugins with names like "vah264dec"
are recommended instead of older "vaapi" ones named like "vaapih264dec".)
The open-source "Nouveau"
drivers for NVIDIA graphics are also in principle supported: see
[here](https://nouveau.freedesktop.org/VideoAcceleration.html), but
this requires VAAPI to be supplemented with firmware extracted from
@@ -487,12 +490,21 @@ OpenGL support (this provides the "-vs glimagesink" videosink, which can
be very useful in many systems (including Raspberry Pi), and should
always be used when using h264/h265 decoding by a NVIDIA GPU),
"**gtk3**" (which provides the "-vs gtksink" videosink), and "**x**" for
X11 support, although these may already be installed; "**vaapi**" is
needed for hardware-accelerated h264 video decoding by Intel or AMD
graphics (but not for use with NVIDIA using proprietary drivers). If
X11 support, although these may already be installed. If
sound is not working, "**alsa**"","**pulseaudio**", or "**pipewire**"
plugins may need to be installed, depending on how your audio is set up.
* A package "**vaapi**" is
available for hardware-accelerated h264 video decoding by Intel or AMD
graphics (but not for use with NVIDIA using proprietary drivers).
However this package contains older drivers (vaapisink, vaapih264dec, etc)
that are no longer developed. This package is no longer recommended, and
and its contents have been superseded by new VA-API drivers
(vah264dec, etc.) that are supplied in "**plugins-bad**"; there is no
replacement for vaapisink: use glimagesink or xvimagesink, or just let
autovideosink choose for you.
- Also install "**gstreamer1.0-tools**" to get the utility
gst-inspect-1.0 for examining the GStreamer installation.
@@ -501,11 +513,13 @@ plugins may need to be installed, depending on how your audio is set up.
In some cases, because of patent issues, the libav plugin feature
**avdec_aac** needed for decoding AAC audio in mirror mode is not
provided in the official distribution: get it from community
repositories for those distributions.
repositories for those distributions. _Note: the "vaapi" packages listed below
are no longer recommended: newer "va" versions of the VA-API plugins for Intel/AMD graphics
are provided by *-plugins-bad_
- **Red Hat, or clones like CentOS (now continued as Rocky Linux or
Alma Linux):** Install gstreamer1-libav gstreamer1-plugins-bad-free
(+ gstreamer1-vaapi for Intel/AMD graphics). In recent Fedora,
(+gstreamer1-vaapi for Intel/AMD graphics). In recent Fedora,
gstreamer1-libav is renamed gstreamer1-plugin-libav. **To get
avdec_aac, install packages from
[rpmfusion.org](https://rpmfusion.org)**: (get ffmpeg-libs from
@@ -513,7 +527,7 @@ repositories for those distributions.
gstreamer1-libav from there).
- **Mageia, PCLinuxOS, OpenMandriva:** Install gstreamer1.0-libav
gstreamer1.0-plugins-bad (+ gstreamer1.0-vaapi for Intel/AMD
gstreamer1.0-plugins-bad (gstreamer1.0-vaapi for Intel/AMD
graphics). **On Mageia, to get avdec_aac, install ffmpeg from the
"tainted" repository**, (which also provides a more complete
gstreamer1.0-plugins-bad).
@@ -667,7 +681,10 @@ what is available. Some possibilites on Linux/\*BSD are:
- **kmssink**, **fbdevsink** (console graphics without X11)
- **vaapisink** (for Intel/AMD hardware-accelerated graphics); for
- **vaapisink** (for Intel/AMD hardware-accelerated graphics) is obsolete:
instead use "`-vd vah264dec`" (or "vah265dec") with glimagesink or xvmagesink.
- for
NVIDIA hardware graphics (with CUDA) use **glimagesink** combined
with "`-vd nvh264dec`" (or "nvh264sldec", a new variant which will
become "nvh264dec" in GStreamer-1.24).
@@ -691,7 +708,7 @@ incorrectly-configured or absent accelerated hardware h264 video
decoding (e.g., VAAPI). Try "`uxplay -avdec`" to force software video
decoding; if this works you can then try to fix accelerated hardware
video decoding if you need it, or just uninstall the GStreamer vaapi
plugin.**
plugin if it is installed .**
See [Usage](#usage) for more run-time options.
@@ -1219,7 +1236,7 @@ display that overscans, and is not displayed by gstreamer).
Recommendation: **don't use this option** unless there is some special
reason to use it.
**-fs** uses fullscreen mode, but currently only works with X11, Wayland, VAAPI,
**-fs** uses fullscreen mode, but currently only works with X11, Wayland, vaapi,
kms and D3D11 (Windows).
**-p** allows you to select the network ports used by UxPlay (these need
@@ -1244,7 +1261,7 @@ default is h264parse. Using quotes "..." allows options to be added.
**-vd *decoder*** chooses the GStreamer pipeline's h264 decoder element,
instead of the default value "decodebin" which chooses it for you.
Software decoding is done by avdec_h264; various hardware decoders
include: vaapih264dec, nvdec, nvh264dec, v4l2h264dec (these require that
include: vah264dec (replacement for vaapih264dec), nvdec, nvh264dec, v4l2h264dec (these require that
the appropriate hardware is available). Using quotes "..." allows some
parameters to be included with the decoder name.
@@ -1265,7 +1282,8 @@ some parameters to be included with the videosink name. For example,
obtained using `-vs "vaapisink fullscreen=true"`; this also works with
`waylandsink`. The syntax of such options is specific to a given plugin
(see GStreamer documentation), and some choices of videosink might not
work on your system.
work on your system. _Note that vaapisink has been labeled "deprecated"
(obsolete) and is no longer recommended._
**-vs 0** suppresses display of streamed video. In mirror mode, the
client's screen is still mirrored at a reduced rate of 1 frame per
@@ -1727,7 +1745,7 @@ which may not work correctly on your system. Try the options "-vs
ximagesink" or "-vs xvimagesink" to see if using one of these fixes the
problem.
Other reported problems are connected to the GStreamer VAAPI plugin (for
Other reported problems are connected to the obsolete GStreamer VAAPI plugin (for
hardware-accelerated Intel graphics, but not NVIDIA graphics). Use the
option "-avdec" to force software h264 video decoding: this should
prevent autovideosink from selecting the vaapisink videosink.
@@ -1741,11 +1759,15 @@ with "sudo apt install intel-media-va-driver-non-free". This is a driver
for 8'th (or later) generation "\*-lake" Intel chips, that seems to be
related to VAAPI accelerated graphics.
If you *do* have Intel HD graphics, and have installed the vaapi plugin,
If you *do* have Intel HD graphics, and have installed the obsolete vaapi plugin,
but `-vs vaapisink` does not work, check that vaapi is not "blacklisted"
in your GStreamer installation: run `gst-inspect-1.0 vaapi`, if this
reports `0 features`, you need to `export GST_VAAPI_ALL_DRIVERS=1`
before running uxplay, or set this in the default environment.
The recommended decoders are the newer "va" decoders such as vah264dec, which should be
automatically used by GStreamer, but can be specified with the `-vd` option.
You can try to fix audio or video problems by using the
"`-as <audiosink>`" or "`-vs <videosink>`" options to choose the