edit README

This commit is contained in:
fduncanh
2022-02-28 12:30:57 -05:00
parent d6f3599d3e
commit 720828981d
3 changed files with 5 additions and 7 deletions

View File

@@ -19,7 +19,7 @@
<p>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 GPUs (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).</p>
<p>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 NVIDIAs proprietary <a href="https://docs.nvidia.com/video-technologies/video-codec-sdk/nvdec-video-decoder-api-prog-guide/">Video Codec SDK</a> 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 <a href="https://gist.github.com/corenel/a615b6f7eb5b5425aa49343a7b409200">these instructions</a>, and adapt them as necessary for your GStreamer installation. This plugin should be used with the <code>-vd nvdec</code> (or nvh264dec) and <code>-vs glimagesink</code> uxplay options.</p>
<ul>
<li><strong>support for Raspberry Pi</strong> (<em>work in progess</em>): the R Pi platform has long been supported by <a href="http://github.com/FD-/RPiPlay">RPiPlay</a> using the deprecated 32-bit-only omx (OpenMAX) decoder, now removed from latest Raspberry Pi OS (Bullseye), leading to user interest in getting UxPlay to work on the R Pi (at least on model 4). UxPlay can work with software h264 video decoding (option <code>-avdec</code>), but without hardware decoding has unacceptable latency on the Pi. The Video4Linux2 GStreamer plugin v4l2h264dec (from gstreamer1.0-plugins-good) is now the appropriate choice for accelerated hardware video decoding by the Broadcom GPU on the Pi. UxPlay options can be used to create GStreamer video pipelines to use non-VAAPI hardware decoders, and a new UxPlay option <code>-rpi</code> creates a pipeline that should be appropriate for the Raspberry Pi, and when it has worked, it has worked well. However, it usually does not work because of a “caps” mismatch between source and sink, which could be fixable with GStreamer “know-how”. The GStreamer video pipeline is “<code>(decrypted h264 stream from iOS)! queue ! h264parse ! decodebin ! videoconvert ! autovideosink sync=false</code>” and the uxplay options <code>-vp , -vd, -vc ,-vs</code> can be used to replace <code>h264parse, decodebin, videoconvert, autovideosink</code> by the users choices. (<code>-rpi</code> is equivalent to -vd v4l2h264dec -vc v4l2convert`). The first frame in the h264 video stream sends the caps details (SPS, PPS) to h264parse. UxPlay users with the R Pi (model 4 recommended) are invited to experiment and report any successes.</li>
<li><strong>support for Raspberry Pi</strong> (<em>work in progess</em>): the R Pi platform has long been supported by <a href="http://github.com/FD-/RPiPlay">RPiPlay</a> using the deprecated 32-bit-only omx (OpenMAX) decoder, now removed from latest Raspberry Pi OS (Bullseye), leading to user interest in getting UxPlay to work on the R Pi (at least on model 4). UxPlay can work with software h264 video decoding (option <code>-avdec</code>), but without hardware decoding has unacceptable latency on the Pi. The Video4Linux2 GStreamer plugin v4l2h264dec (from gstreamer1.0-plugins-good) is now the appropriate choice for accelerated hardware video decoding by the Broadcom GPU on the Pi. UxPlay options can be used to create GStreamer video pipelines to use non-VAAPI hardware decoders, and a new UxPlay option <code>-rpi</code> creates a pipeline that should be appropriate for the Raspberry Pi, and when it has worked, it has worked well. However, it usually does not work because of a “caps” mismatch between source and sink, which could be fixable with GStreamer “know-how”. The GStreamer video pipeline is “<code>(decrypted h264 stream from iOS)! queue ! h264parse ! decodebin ! videoconvert ! autovideosink sync=false</code>” and the uxplay options <code>-vp , -vd, -vc ,-vs</code> can be used to replace <code>h264parse, decodebin, videoconvert, autovideosink</code> by the users choices. (<code>-rpi</code> is equivalent to -vd v4l2h264dec -vc v4l2convert<code>). The first frame in the h264 video stream sends the "caps" details (SPS, PPS) to h264parse. UxPlay users with the R Pi (model 4 recommended) are invited to experiment and report any successes. (The uxplay</code>-d` option will display the actual video pipeline being used.)</li>
</ul>
<h3 id="note-to-packagers-openssl-3.0.0-solves-gpl-v3-license-issues.">Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.</h3>
<p>Some Linux distributions such as Debian do not allow distribution of compiled GPL code linked to OpenSSL-1.1.1 because its “dual OpenSSL/SSLeay” license has some incompatibilities with GPL, unless all code authors have explicitly given an “exception” to allow such linking (the historical origins of UxPlay make this impossible to obtain). Other distributions treat OpenSSL as a “System Library” which the GPL allows linking to.</p>

View File

@@ -90,8 +90,8 @@ This plugin should be used with the `-vd nvdec` (or nvh264dec) and `-vs glimages
and the uxplay options `-vp , -vd, -vc ,-vs` can be used to
replace `h264parse, decodebin, videoconvert, autovideosink` by the user's
choices. (`-rpi` is equivalent to '-vd v4l2h264dec -vc v4l2convert`). The first frame in the h264 video stream sends the "caps"
details (SPS, PPS) to h264parse. UxPlay users with the R Pi (model 4 recommended) are invited to experiment and report any successes.
details (SPS, PPS) to h264parse. UxPlay users with the R Pi (model 4 recommended) are invited to experiment and report any
successes. (The uxplay `-d` option will display the actual video pipeline being used.)
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.

View File

@@ -121,10 +121,8 @@ uxplay options.
and the uxplay options `-vp , -vd, -vc ,-vs` can be used to replace
`h264parse, decodebin, videoconvert, autovideosink` by the user's
choices. (`-rpi` is equivalent to '-vd v4l2h264dec -vc
v4l2convert\`). The first frame in the h264 video stream sends the
"caps" details (SPS, PPS) to h264parse. UxPlay users with the R Pi
(model 4 recommended) are invited to experiment and report any
successes.
v4l2convert`). The first frame in the h264 video stream sends the "caps" details (SPS, PPS) to h264parse. UxPlay users with the R Pi (model 4 recommended) are invited to experiment and report any successes. (The uxplay`-d\`
option will display the actual video pipeline being used.)
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.