edit README

This commit is contained in:
fduncanh
2022-02-26 00:55:08 -05:00
parent 2dfd6c42a9
commit 9cd6ca1955
3 changed files with 33 additions and 25 deletions

View File

@@ -58,25 +58,27 @@ instead of streaming content from one on the client.**
UxPlay uses [GStreamer](https://gstreamer.freedesktop.org) Plugins for rendering audio and video,
This means that video and audio are supported "out of the box", using a choice of plugins.
Gstreamer decoding is plugin agnostic, and uses accelerated GPU decoders if
available. For Intel integrated graphics, the VAAPI plugin is preferable. VAAPI is open-source, and
in addition to Intel, can support some AMD GPU's (the open-source "Nouveau" NVIDIA drivers
are also in principle supported when supplemented with firmware extracted from the proprietary drivers).
AirPlay streams video in h264 format: gstreamer decoding is plugin agnostic, and uses accelerated GPU hardware
h264 decoders if available; if not, software decoding is used.
For NVIDIA graphics with the proprietary drivers (and CUDA), the nvdec plugin (recently renamed nvh264dec) can be used for
accelerated video decoding on the NVIDIA GPU. This plugin is part of gstreamer1.0-plugins-bad, but is generally not
For systems with Intel integrated graphics, hardware GPU decoding with the gstreamer VAAPI plugin is preferable. VAAPI is
open-source, and in addition to Intel, can support some AMD GPU's (the open-source "Nouveau" drivers for NVIDIA
graphics are also in principle supported when VAAPI is supplemented with firmware extracted from the proprietary NVIDIA drivers).
For NVIDIA graphics with the proprietary drivers, the nvdec plugin (recently renamed nvh264dec) can be used for
accelerated video decoding on the NVIDIA GPU with CUDA. The nvdec plugin is part of gstreamer1.0-plugins-bad, but is generally not
included in binary packages, as NVIDIA's
proprietary [Video Codec SDK](https://docs.nvidia.com/video-technologies/video-codec-sdk/nvdec-video-decoder-api-prog-guide/)
must be downloaded, and three header files from it must be added to the gstreamer source before the plugin can be compiled.
Users must do this themselves, see [these instructions.](https://gist.github.com/corenel/a615b6f7eb5b5425aa49343a7b409200), and
Users must do this themselves, see [these instructions](https://gist.github.com/corenel/a615b6f7eb5b5425aa49343a7b409200), and
adapt them as necessary for your GStreamer installation.
The plugin should be used with the `-vd nvdec` (or nvh264dec) and `-vs glimagesink` uxplay options.
This plugin should be used with the `-vd nvdec` (or nvh264dec) and `-vs glimagesink` uxplay options.
The Video4Linux2 decoder v4l2h264dec (from gstreamer1.0-plugins-good) is the appropriate choice for the Broadcom GPU in the
Raspberry Pi 4, (UxPlay does not run well on the Raspberry Pi if GPU hardware h264 video decoding is not used,
as its CPU is not powerful enough for satisfactory software-based decoding without large latency); uxplay options can be used
to create GStreamer video pipelines to use non-VAAPI hardware decoders, and a special option `-rpi` creates a pipeline
appropriate for the Raspberry Pi. _(This is "Work In Progess", has worked, but not yet consistently.)_
appropriate for the Raspberry Pi. _(This is "Work In Progess": it does not yet consistently work.)_
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.