mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-15 00:34:05 +09:00
edits to manpage and help message about kmssink
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
<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 NVIDIA’s 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><p><strong>GPU Support for Raspberry Pi</strong></p>
|
||||
<p>Raspberry Pi computers can run UxPlay with software decoding of h264 video (options <code>uxplay -rpi -avdec</code>) but this usually has unacceptible latency, and hardware-accelerated decoding by the Pi’s built-in Broadcom GPU should be used. UxPlay’s antecedent <a href="http://github.com/FD-/RPiPlay">RPiPlay</a> was developed to use the 32-bit-only omx (OpenMAX) driver for this, but omx has recently been declared obsolete and abandoned in “legacy” status by Raspberry Pi OS (Bullseye). The GStreamer plugin for its replacement v4l2 (Video4Linux2) has until recently been unusable with UxPlay, but new fixes in the GStreamer development branch have changed this. Backports (as patches) to GStreamer 1.18.4 (Bullseye) and 1.20.0 (Manjaro) are now available <a href="https://github.com/FDH2/UxPlay/issues/70">here</a>, until distributions release them as updates, and work well with UxPlay, using a new option <code>uxplay -rpi</code> (tested on R Pi model 4B)</p></li>
|
||||
<p>Raspberry Pi computers can run UxPlay with software decoding of h264 video (options <code>uxplay -rpi -avdec</code>) but this usually has unacceptible latency, and hardware-accelerated decoding by the Pi’s built-in Broadcom GPU should be used. UxPlay’s antecedent <a href="http://github.com/FD-/RPiPlay">RPiPlay</a> was developed to use the 32-bit-only omx (OpenMAX) driver for this, but omx has recently been declared obsolete and abandoned in “legacy” status by Raspberry Pi OS (Bullseye). The GStreamer plugin for its replacement v4l2 (Video4Linux2) has until recently been unusable with UxPlay, but new fixes in the GStreamer development branch have changed this. Backports (as patches) to GStreamer 1.18.4 (R Pi OS Bullseye), 1.18.5 (Ubuntu 21.10) and 1.20.0 (Manjaro) are now available <a href="https://github.com/FDH2/UxPlay/issues/70">here</a>, until distributions release them as updates, and work well with UxPlay, using a new option <code>uxplay -rpi</code> (tested on R Pi model 4B). When using R Pi OS Lite (no X11), use ’uxplay -rpi -vs kmssink`.</p></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>
|
||||
@@ -92,7 +92,7 @@
|
||||
<p><strong>-vp <em>parser</em></strong> choses the GStreamer pipeline’s h264 parser element, default is h264parse. Using quotes “…” allows options to be added.</p>
|
||||
<p><strong>-vd <em>decoder</em></strong> chooses the GStreamer pipeline’s h264 decoder element, instead of letting decodebin pick it for you. Software decoding is done by avdec_h264; various hardware decoders include: vaapi264dec, nvdec, nvh264dec, v4l2h264dec (these require that the appropriate hardware is available). Using quotes “…” allows some parameters to be included with the decoder name.</p>
|
||||
<p><strong>-vc <em>converter</em></strong> chooses the GStreamer pipeline’s videoconverter element, instead of the default value “videoconvert”. When using video4linux hardware decoding by a GPU,<code>-vc v4l2convert</code> will also use the GPU for video conversion. Using quotes “…” allows some parameters to be included with the converter name.</p>
|
||||
<p><strong>-vs <em>videosink</em></strong> chooses the GStreamer videosink, instead of letting autovideosink pick it for you. Some videosink choices are: ximagesink, xvimagesink, vaapisink (for intel graphics), gtksink, glimagesink, waylandsink, osximagesink (for macOS), or fpsdisplaysink (which shows the streaming framerate in fps). Using quotes “…” allows some parameters to be included with the videosink name. For example, <strong>fullscreen</strong> mode is supported by the vaapisink plugin, and is obtained using <code>-vs "vaapisink fullscreen=true"</code>; this also works with <code>waylandsink</code>. The syntax of such options is specific to a given plugin, and some choices of videosink might not work on your system.</p>
|
||||
<p><strong>-vs <em>videosink</em></strong> chooses the GStreamer videosink, instead of letting autovideosink pick it for you. Some videosink choices are: ximagesink, xvimagesink, vaapisink (for intel graphics), gtksink, glimagesink, waylandsink, osximagesink (for macOS), kmssink (for systems without X11, like Raspberry Pi OS lite) or fpsdisplaysink (which shows the streaming framerate in fps). Using quotes “…” allows some parameters to be included with the videosink name. For example, <strong>fullscreen</strong> mode is supported by the vaapisink plugin, and is obtained using <code>-vs "vaapisink fullscreen=true"</code>; this also works with <code>waylandsink</code>. The syntax of such options is specific to a given plugin, and some choices of videosink might not work on your system.</p>
|
||||
<p><strong>-vs 0</strong> suppresses display of streamed video, but plays streamed audio. (The client’s screen is still mirrored at a reduced rate of 1 frame per second, but is not rendered or displayed.) This feature (which streams audio in AAC audio format) is now probably unneeded, as UxPlay can now stream superior-quality Apple Lossless audio without video in Airplay non-mirror mode.</p>
|
||||
<p><strong>-rpi</strong> Video settings for Raspberry Pi, for hardware h264 video decoding in the GPU (requires the video4linux2 plugin from GStreamer-1.21.0 or later, or a backported patched version of an earlier release. (If this is unavailable, use <code>uxplay -rpi -avdec</code>). Uses the glimagesink videosink.</p>
|
||||
<p><strong>-avdec</strong> forces use of software h264 decoding using Gstreamer element avdec_h264 (libav h264 decoder). This option should prevent autovideosink choosing a hardware-accelerated videosink plugin such as vaapisink.</p>
|
||||
|
||||
@@ -84,10 +84,10 @@ This plugin should be used with the `-vd nvdec` (or nvh264dec) and `-vs glimages
|
||||
has unacceptible latency, and hardware-accelerated decoding by the Pi's built-in Broadcom GPU should be used.
|
||||
UxPlay's antecedent [RPiPlay](http://github.com/FD-/RPiPlay) was developed to use the 32-bit-only omx (OpenMAX) driver for this, but omx
|
||||
has recently been declared obsolete and abandoned in "legacy" status by Raspberry Pi OS (Bullseye). The GStreamer plugin for its
|
||||
replacement v4l2 (Video4Linux2) has until recently been unusable with UxPlay, but new fixes in the GStreamer
|
||||
development branch have changed this. Backports (as patches) to GStreamer 1.18.4 (Bullseye) and 1.20.0 (Manjaro) are now
|
||||
replacement v4l2 (Video4Linux2) has until recently been unusable with UxPlay, but new fixes in the GStreamer development branch have
|
||||
changed this. Backports (as patches) to GStreamer 1.18.4 (R Pi OS Bullseye), 1.18.5 (Ubuntu 21.10) and 1.20.0 (Manjaro) are now
|
||||
available [here](https://github.com/FDH2/UxPlay/issues/70), until distributions release them as updates, and work well with UxPlay,
|
||||
using a new option `uxplay -rpi` (tested on R Pi model 4B)
|
||||
using a new option `uxplay -rpi` (tested on R Pi model 4B). When using R Pi OS Lite (no X11), use 'uxplay -rpi -vs kmssink`.
|
||||
|
||||
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
|
||||
|
||||
@@ -366,7 +366,7 @@ Also: image transforms that had been added to RPiPlay have been ported to UxPlay
|
||||
|
||||
**-vs _videosink_** chooses the GStreamer videosink, instead of letting
|
||||
autovideosink pick it for you. Some videosink choices are: ximagesink, xvimagesink,
|
||||
vaapisink (for intel graphics), gtksink, glimagesink, waylandsink, osximagesink (for macOS), or
|
||||
vaapisink (for intel graphics), gtksink, glimagesink, waylandsink, osximagesink (for macOS), kmssink (for systems without X11, like Raspberry Pi OS lite) or
|
||||
fpsdisplaysink (which shows the streaming framerate in fps). Using quotes
|
||||
"..." allows some parameters to be included with the videosink name.
|
||||
For example, **fullscreen** mode is supported by the vaapisink plugin, and is
|
||||
|
||||
22
README.txt
22
README.txt
@@ -114,11 +114,12 @@ uxplay options.
|
||||
OS (Bullseye). The GStreamer plugin for its replacement v4l2
|
||||
(Video4Linux2) has until recently been unusable with UxPlay, but new
|
||||
fixes in the GStreamer development branch have changed this.
|
||||
Backports (as patches) to GStreamer 1.18.4 (Bullseye) and 1.20.0
|
||||
(Manjaro) are now available
|
||||
Backports (as patches) to GStreamer 1.18.4 (R Pi OS Bullseye),
|
||||
1.18.5 (Ubuntu 21.10) and 1.20.0 (Manjaro) are now available
|
||||
[here](https://github.com/FDH2/UxPlay/issues/70), until
|
||||
distributions release them as updates, and work well with UxPlay,
|
||||
using a new option `uxplay -rpi` (tested on R Pi model 4B)
|
||||
using a new option `uxplay -rpi` (tested on R Pi model 4B). When
|
||||
using R Pi OS Lite (no X11), use 'uxplay -rpi -vs kmssink\`.
|
||||
|
||||
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
|
||||
|
||||
@@ -479,13 +480,14 @@ to be included with the converter name.
|
||||
**-vs *videosink*** chooses the GStreamer videosink, instead of letting
|
||||
autovideosink pick it for you. Some videosink choices are: ximagesink,
|
||||
xvimagesink, vaapisink (for intel graphics), gtksink, glimagesink,
|
||||
waylandsink, osximagesink (for macOS), or fpsdisplaysink (which shows
|
||||
the streaming framerate in fps). Using quotes "..." allows some
|
||||
parameters to be included with the videosink name. For example,
|
||||
**fullscreen** mode is supported by the vaapisink plugin, and is
|
||||
obtained using `-vs "vaapisink fullscreen=true"`; this also works with
|
||||
`waylandsink`. The syntax of such options is specific to a given plugin,
|
||||
and some choices of videosink might not work on your system.
|
||||
waylandsink, osximagesink (for macOS), kmssink (for systems without X11,
|
||||
like Raspberry Pi OS lite) or fpsdisplaysink (which shows the streaming
|
||||
framerate in fps). Using quotes "..." allows some parameters to be
|
||||
included with the videosink name. For example, **fullscreen** mode is
|
||||
supported by the vaapisink plugin, and is obtained using
|
||||
`-vs "vaapisink fullscreen=true"`; this also works with `waylandsink`.
|
||||
The syntax of such options is specific to a given plugin, and some
|
||||
choices of videosink might not work on your system.
|
||||
|
||||
**-vs 0** suppresses display of streamed video, but plays streamed
|
||||
audio. (The client's screen is still mirrored at a reduced rate of 1
|
||||
|
||||
2
uxplay.1
2
uxplay.1
@@ -53,7 +53,7 @@ UxPlay 1.48: An open\-source AirPlay mirroring server based on RPiPlay
|
||||
.IP
|
||||
choices: ximagesink,xvimagesink,vaapisink,glimagesink,
|
||||
.IP
|
||||
gtksink,waylandsink,osximagesink,fpsdisplaysink,...
|
||||
gtksink,waylandsink,osximagesink,kmssink,fpsdisplaysink,...
|
||||
.PP
|
||||
.TP
|
||||
\fB\-vs\fR 0 Streamed audio only, with no video display window.
|
||||
|
||||
@@ -236,7 +236,7 @@ static void print_info (char *name) {
|
||||
printf(" another choice when using v4l2h264decode: v4l2convert\n");
|
||||
printf("-vs ... Choose the GStreamer videosink; default \"autovideosink\"\n");
|
||||
printf(" some choices: ximagesink,xvimagesink,vaapisink,glimagesink,\n");
|
||||
printf(" gtksink,waylandsink,osximagesink,fpsdisplaysink, etc.\n");
|
||||
printf(" gtksink,waylandsink,osximagesink,kmssink,fpsdisplaysink etc.\n");
|
||||
printf("-vs 0 Streamed audio only, with no video display window\n");
|
||||
printf("-rpi Video settings for Raspberry Pi (for GPU h264 decoding).\n");
|
||||
printf("-avdec Force software h264 video decoding with libav decoder\n");
|
||||
|
||||
Reference in New Issue
Block a user