mirror of
https://github.com/morgan9e/UxPlay
synced 2026-04-14 00:04:13 +09:00
update for uxplay 1.51 rearranged rpi options
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<h1 id="uxplay-1.50-airplayairplay-mirror-server-for-linux-macos-and-unix.">UxPlay 1.50: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.</h1>
|
||||
<h1 id="uxplay-1.51-airplayairplay-mirror-server-for-linux-macos-and-unix.">UxPlay 1.51: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.</h1>
|
||||
<h3 id="now-developed-at-github-site-httpsgithub.comfdh2uxplay-where-user-issues-should-be-posted.">Now developed at GitHub site <a href="https://github.com/FDH2/UxPlay">https://github.com/FDH2/UxPlay</a> (where user issues should be posted).</h3>
|
||||
<p>Highlights:</p>
|
||||
<ul>
|
||||
@@ -8,7 +8,7 @@
|
||||
<li>Support for older 32-bit iOS clients (such as iPad 2nd gen, iPhone 4S, when upgraded to iOS 9.3.5 or later), and a Windows AirPlay-client emulator, AirMyPC.</li>
|
||||
<li>Uses GStreamer, with options to select different output “videosinks” and “audiosinks”.</li>
|
||||
<li>Support for server behind a firewall.</li>
|
||||
<li><strong>New</strong>: Support for Raspberry Pi, with hardware video acceleration by Video4Linux2 (replacement for OpenMAX, which is no longer supplied in Raspberry Pi OS) (may require a <a href="https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches">patch</a> to the GStreamer Video4Linux2 plugin.)</li>
|
||||
<li><strong>New</strong>: Support for Raspberry Pi, with hardware video acceleration by Video4Linux2 (replacement for OpenMAX, which is no longer supplied in Raspberry Pi OS) (may require a <a href="https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches">patch</a> to the GStreamer Video4Linux2 plugin.) See <a href="https://github.com/FDH2/UxPlay/wiki/UxPlay-on-Raspberry-Pi:-success-reports:">success reports</a>.</li>
|
||||
</ul>
|
||||
<p>This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and *BSD. It was initially developed by <a href="http://github.com/antimof/Uxplay">antimof</a> using code from <a href="https://github.com/FD-/RPiPlay">RPiPlay</a>, which in turn derives from <a href="https://github.com/KqsMea8/AirplayServer">AirplayServer</a>, <a href="https://github.com/juhovh/shairplay">shairplay</a>, and <a href="https://github.com/EstebanKubata/playfair">playfair</a>. (The antimof site is mainly inactive, but periodically posts updates pulled from the <a href="https://github.com/FDH2/UxPlay">main UxPlay site</a>).</p>
|
||||
<p>UxPlay is tested on a number of systems, including (among others) Debian 10.11 “Buster” and 11.2 “Bullseye”, Ubuntu 20.04 and 21.10, Linux Mint 20.2, Pop!_OS 21.10 (NVIDIA edition), Rocky Linux 8.5 (a CentOS successor), OpenSUSE 15.3, Arch Linux 5.16.8, macOS 12.3 (Intel and M1), FreeBSD 13.0.</p>
|
||||
@@ -21,7 +21,7 @@
|
||||
<p>For NVIDIA graphics with the proprietary drivers, the <code>nvh264dec</code> plugin (included in gstreamer1.0-plugins-bad since GStreamer-1.18.0) can be used for accelerated video decoding on the NVIDIA GPU after NVIDIA’s CUDA driver <code>libcuda.so</code> is installed. This plugin should be used with options <code>uxplay -vd nvh264dec -vs glimagesink</code>. For GStreamer-1.16.3 or earlier, the plugin is called <code>nvdec</code>, and must be built by the user: see <a href="https://github.com/FDH2/UxPlay/wiki/NVIDIA-nvdec-and-nvenc-plugins">these instructions</a>. This older form of the plugin should be used with the <code>-vd nvdec -vs glimagesink</code> uxplay options.</p>
|
||||
<ul>
|
||||
<li><p><strong>GPU Support for Raspberry Pi</strong></p>
|
||||
<p>Raspberry Pi (RPi) computers can run UxPlay with software decoding of h264 video (by adding <code>-avdec</code> to the uxplay options) but this usually has unacceptable latency, and hardware-accelerated decoding by the Pi’s built-in Broadcom GPU should be used. RPi OS (Bullseye) has abandoned the omx (OpenMAX) driver used till now for this by <a href="http://github.com/FD-/RPiPlay">RPiPlay</a>, in favor of v4l2 (Video4Linux2). The GStreamer Video4Linux2 plugin only works with UxPlay since GStreamer-1.21.0.0 on the development branch, but a (partial) backport to 1.18.4 for RPi OS (Bullseye) has already appeared in current updates. In case the full update has not yet appeared, or you are using a different distribution, you can find <a href="https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches">patching instructions</a> in the <a href="https://github.com/FDH2/UxPlay/wiki">UxPlay Wiki</a>. Patches for GStreamer-1.18.5 (used in Ubuntu 21.10 for RPi) and GStreamer-1.20.1 (used in Manjaro for RPi) are also available. On a non-“Desktop” system without X11 that uses framebuffer video (such as RPi OS Bullseye “Lite”) use option <code>uxplay -rpi</code> with the patched GStreamer. On “Desktop” operating systems, use the options <code>uxplay -rpigl</code> (for openGL video), or <code>uxplay -rpiwl</code> (for Wayland video); note that option <code>-rpigl</code> was working very well on systems with the 5.10.x Linux kernel, but the recent upgrade of RPi OS to 5.15.x kernels seems to have a regression that causes unacceptable latency.</p></li>
|
||||
<p>Raspberry Pi (RPi) computers can run UxPlay with software decoding of h264 video (by adding <code>-avdec</code> to the uxplay options) but this usually has unacceptable latency, and hardware-accelerated decoding by the Pi’s built-in Broadcom GPU should be used. RPi OS (Bullseye) has abandoned the omx (OpenMAX) driver used till now for this by <a href="http://github.com/FD-/RPiPlay">RPiPlay</a>, in favor of v4l2 (Video4Linux2). The GStreamer Video4Linux2 plugin only works with UxPlay since GStreamer-1.21.0.0 on the development branch, but a (partial) backport (as <code>gstreamer1.0-plugins-good-1.18.4-2+~rpt1</code>) for RPi OS (Bullseye) has already appeared in current updates. Until the promised full update appears, or if you are using a different distribution, you can find <a href="https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches">patching instructions</a> in the <a href="https://github.com/FDH2/UxPlay/wiki">UxPlay Wiki</a>. Patches for GStreamer-1.18.5 (used in Ubuntu 21.10 for RPi) and GStreamer-1.20.1 (used in Manjaro for RPi) are also available. On “Desktop” operating systems with X11, use <code>uxplay -v4l2</code> (or use <code>-rpi</code> as a synonym), and optionally specify a videosink with “<code>-vs ..</code>”); use <code>uxplay -rpiwl</code> as a synonym for “<code>-v4l2 -vs waylandsink</code>” on a Desktop system with Wayland. On a system without X11 with framebuffer video (such as RPi OS Bullseye “Lite”) use <code>uxplay -rpifb</code> as a synonym for “<code>uxplay -v4l2 -vs kmssink</code>”.</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>
|
||||
@@ -138,6 +138,7 @@
|
||||
<p>This triggers an unending stream of error messages, and means that the audio decryption key (also used in video decryption) was not correctly extracted from data sent by the client. This should not happen for iOS 9.3 or later clients. However, if a client uses the same older version of the protocol that is used by the Windows-based AirPlay client emulator <em>AirMyPC</em>, the protocol can be switched to the older version by the setting <code>OLD_PROTOCOL_CLIENT_USER_AGENT_LIST</code> in lib/global.h. UxPlay reports the client’s “User Agent” string when it connects. If some other client also fails to decrypt all audio and video, try adding its “User Agent” string in place of “xxx” in the entry “AirMyPC/2.0;xxx” in global.h and rebuild uxplay.</p>
|
||||
<p>Note that Uxplay declares itself to be an AppleTV3,2 with a sourceVersion 220.68; this can also be changed in global.h. It had been thought that it was necessary for UxPlay to claim to be an older 32 bit AppleTV model that cannot run modern 64bit tvOS, in order for the client to use a “legacy” protocol for pairing with the server (see the <em>“Notes on AirPlay protocol versions”</em> at the end of this README). However, UxPlay still works if it declares itself as an AppleTV6,2 with sourceVersion 380.20.1 (an AppleTV 4K 1st gen, introduced 2017, running tvOS 12.2.1), so it is unclear what setting prompts the client to use the “legacy” protocol needed by UxPlay.</p>
|
||||
<h1 id="changelog">ChangeLog</h1>
|
||||
<p>1.51 2022-04-24 Reworked options forVideo4Linux2 support (new option -v4l2) and short options -rpi, -rpifb, -rpiwl as synonyms for -v4l2, -v4l2 -vs kmssink, and -v4l2 -vs waylandsink. Reverted a change from 1.48 that broke reconnection after “Stop Mirroring” is sent by client.</p>
|
||||
<p>1.50 2022-04-22 Added -fs fullscreen option (for Wayland or VAAPI plugins only), Changed -rpi to be for framebuffer (“lite”) RPi systems and added -rpigl (OpenGL) and -rpiwl (Wayland) options for RPi Desktop systems. Also modified timestamps from “DTS” to “PTS” for latency improvement, plus internal cleanups.</p>
|
||||
<p>1.49 2022-03-28 Addded options for dumping video and/or audio to file, for debugging, etc. h264 PPS/SPS NALU’s are shown with -d. Fixed video-not-working for M1 Mac clients.</p>
|
||||
<p>1.48 2022-03-11 Made the GStreamer video pipeline fully configurable, for use with hardware h264 decoding. Support for Raspberry Pi.</p>
|
||||
|
||||
27
README.md
27
README.md
@@ -1,4 +1,4 @@
|
||||
# UxPlay 1.50: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.
|
||||
# UxPlay 1.51: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.
|
||||
|
||||
### Now developed at GitHub site [https://github.com/FDH2/UxPlay](https://github.com/FDH2/UxPlay) (where user issues should be posted).
|
||||
|
||||
@@ -18,7 +18,8 @@ Highlights:
|
||||
* **New**: Support for Raspberry Pi, with hardware video acceleration by Video4Linux2 (replacement for OpenMAX, which
|
||||
is no longer supplied in Raspberry Pi OS)
|
||||
(may require a [patch](https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches) to the GStreamer Video4Linux2 plugin.)
|
||||
|
||||
See [success reports](https://github.com/FDH2/UxPlay/wiki/UxPlay-on-Raspberry-Pi:-success-reports:).
|
||||
|
||||
This project is a GPLv3 open source unix AirPlay2 Mirror server for Linux, macOS, and \*BSD.
|
||||
It was initially developed by
|
||||
[antimof](http://github.com/antimof/Uxplay) using code
|
||||
@@ -89,18 +90,18 @@ This older form of the plugin should be used with the `-vd nvdec -vs glimagesi
|
||||
usually has unacceptable latency, and hardware-accelerated decoding by the Pi's built-in Broadcom GPU should be used.
|
||||
RPi OS (Bullseye) has abandoned the omx (OpenMAX) driver used till now for this by [RPiPlay](http://github.com/FD-/RPiPlay), in
|
||||
favor of v4l2 (Video4Linux2). The GStreamer Video4Linux2 plugin only works with UxPlay since GStreamer-1.21.0.0 on the development branch,
|
||||
but a (partial) backport to 1.18.4 for RPi OS (Bullseye) has already appeared in current updates. In case the full update has not
|
||||
yet appeared, or you are using a different distribution,
|
||||
but a (partial) backport (as `gstreamer1.0-plugins-good-1.18.4-2+~rpt1`) for RPi OS (Bullseye) has already appeared in current updates.
|
||||
Until the promised full update appears, or if
|
||||
you are using a different distribution,
|
||||
you can find [patching instructions](https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches) in
|
||||
the [UxPlay Wiki](https://github.com/FDH2/UxPlay/wiki). Patches for
|
||||
GStreamer-1.18.5 (used in Ubuntu 21.10 for RPi) and GStreamer-1.20.1 (used in Manjaro for RPi) are also available.
|
||||
On a non-"Desktop" system without X11 that uses
|
||||
framebuffer video (such as RPi OS Bullseye "Lite") use option `uxplay -rpi` with the patched GStreamer.
|
||||
On "Desktop" operating systems, use the options `uxplay -rpigl`
|
||||
(for openGL video), or ``uxplay -rpiwl`` (for Wayland video); note that option `-rpigl` was working very well on
|
||||
systems with the 5.10.x Linux kernel,
|
||||
but the recent upgrade of RPi OS to 5.15.x kernels seems to have a regression that causes unacceptable latency.
|
||||
|
||||
On "Desktop" operating systems with X11, use `uxplay -v4l2` (or use ``-rpi `` as a synonym),
|
||||
and optionally specify a videosink with "`-vs ..`"); use ``uxplay -rpiwl`` as a synonym
|
||||
for "`-v4l2 -vs waylandsink`" on a Desktop system with Wayland.
|
||||
On a system without X11 with
|
||||
framebuffer video (such as RPi OS Bullseye "Lite") use `uxplay -rpifb` as a synonym
|
||||
for "`uxplay -v4l2 -vs kmssink`".
|
||||
|
||||
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
|
||||
Some Linux distributions such as Debian do not allow distribution of compiled
|
||||
@@ -595,6 +596,10 @@ tvOS 12.2.1), so it is unclear what setting prompts the client
|
||||
to use the "legacy" protocol needed by UxPlay.
|
||||
|
||||
# ChangeLog
|
||||
1.51 2022-04-24 Reworked options forVideo4Linux2 support (new option -v4l2) and short options -rpi, -rpifb, -rpiwl as
|
||||
synonyms for -v4l2, -v4l2 -vs kmssink, and -v4l2 -vs waylandsink. Reverted a change from 1.48 that broke
|
||||
reconnection after "Stop Mirroring" is sent by client.
|
||||
|
||||
1.50 2022-04-22 Added -fs fullscreen option (for Wayland or VAAPI plugins only), Changed -rpi to be for framebuffer ("lite") RPi
|
||||
systems and added -rpigl (OpenGL) and -rpiwl (Wayland) options for RPi Desktop systems.
|
||||
Also modified timestamps from "DTS" to "PTS" for latency improvement, plus internal cleanups.
|
||||
|
||||
35
README.txt
35
README.txt
@@ -1,4 +1,4 @@
|
||||
UxPlay 1.50: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.
|
||||
UxPlay 1.51: AirPlay/AirPlay-Mirror server for Linux, macOS, and Unix.
|
||||
======================================================================
|
||||
|
||||
### Now developed at GitHub site <https://github.com/FDH2/UxPlay> (where user issues should be posted).
|
||||
@@ -24,7 +24,8 @@ Highlights:
|
||||
by Video4Linux2 (replacement for OpenMAX, which is no longer
|
||||
supplied in Raspberry Pi OS) (may require a
|
||||
[patch](https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches)
|
||||
to the GStreamer Video4Linux2 plugin.)
|
||||
to the GStreamer Video4Linux2 plugin.) See [success
|
||||
reports](https://github.com/FDH2/UxPlay/wiki/UxPlay-on-Raspberry-Pi:-success-reports:).
|
||||
|
||||
This project is a GPLv3 open source unix AirPlay2 Mirror server for
|
||||
Linux, macOS, and \*BSD. It was initially developed by
|
||||
@@ -114,22 +115,21 @@ This older form of the plugin should be used with the
|
||||
[RPiPlay](http://github.com/FD-/RPiPlay), in favor of v4l2
|
||||
(Video4Linux2). The GStreamer Video4Linux2 plugin only works with
|
||||
UxPlay since GStreamer-1.21.0.0 on the development branch, but a
|
||||
(partial) backport to 1.18.4 for RPi OS (Bullseye) has already
|
||||
appeared in current updates. In case the full update has not yet
|
||||
appeared, or you are using a different distribution, you can find
|
||||
[patching
|
||||
(partial) backport (as `gstreamer1.0-plugins-good-1.18.4-2+~rpt1`)
|
||||
for RPi OS (Bullseye) has already appeared in current updates. Until
|
||||
the promised full update appears, or if you are using a different
|
||||
distribution, you can find [patching
|
||||
instructions](https://github.com/FDH2/UxPlay/wiki/Gstreamer-Video4Linux2-plugin-patches)
|
||||
in the [UxPlay Wiki](https://github.com/FDH2/UxPlay/wiki). Patches
|
||||
for GStreamer-1.18.5 (used in Ubuntu 21.10 for RPi) and
|
||||
GStreamer-1.20.1 (used in Manjaro for RPi) are also available. On a
|
||||
non-"Desktop" system without X11 that uses framebuffer video (such
|
||||
as RPi OS Bullseye "Lite") use option `uxplay -rpi` with the
|
||||
patched GStreamer. On "Desktop" operating systems, use the options
|
||||
`uxplay -rpigl` (for openGL video), or `uxplay -rpiwl` (for Wayland
|
||||
video); note that option `-rpigl` was working very well on systems
|
||||
with the 5.10.x Linux kernel, but the recent upgrade of RPi OS to
|
||||
5.15.x kernels seems to have a regression that causes unacceptable
|
||||
latency.
|
||||
GStreamer-1.20.1 (used in Manjaro for RPi) are also available. On
|
||||
"Desktop" operating systems with X11, use `uxplay -v4l2` (or use
|
||||
`-rpi` as a synonym), and optionally specify a videosink with
|
||||
"`-vs ..`"); use `uxplay -rpiwl` as a synonym for
|
||||
"`-v4l2 -vs waylandsink`" on a Desktop system with Wayland. On a
|
||||
system without X11 with framebuffer video (such as RPi OS Bullseye
|
||||
"Lite") use `uxplay -rpifb` as a synonym for
|
||||
"`uxplay -v4l2 -vs kmssink`".
|
||||
|
||||
### Note to packagers: OpenSSL-3.0.0 solves GPL v3 license issues.
|
||||
|
||||
@@ -777,6 +777,11 @@ the "legacy" protocol needed by UxPlay.
|
||||
ChangeLog
|
||||
=========
|
||||
|
||||
1.51 2022-04-24 Reworked options forVideo4Linux2 support (new option
|
||||
-v4l2) and short options -rpi, -rpifb, -rpiwl as synonyms for -v4l2,
|
||||
-v4l2 -vs kmssink, and -v4l2 -vs waylandsink. Reverted a change from
|
||||
1.48 that broke reconnection after "Stop Mirroring" is sent by client.
|
||||
|
||||
1.50 2022-04-22 Added -fs fullscreen option (for Wayland or VAAPI
|
||||
plugins only), Changed -rpi to be for framebuffer ("lite") RPi systems
|
||||
and added -rpigl (OpenGL) and -rpiwl (Wayland) options for RPi Desktop
|
||||
|
||||
@@ -133,7 +133,7 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
|
||||
assert(renderer);
|
||||
|
||||
gst_init(NULL,NULL);
|
||||
GString *launch = g_string_new("appsrc name=video_source stream-type=0 format=GST_FORMAT_TIME is-live=true ! ");
|
||||
GString *launch = g_string_new("appsrc name=video_source ! ");
|
||||
g_string_append(launch, "queue ! ");
|
||||
g_string_append(launch, parser);
|
||||
g_string_append(launch, " ! ");
|
||||
@@ -152,7 +152,7 @@ void video_renderer_init(logger_t *render_logger, const char *server_name, vide
|
||||
renderer->appsrc = gst_bin_get_by_name (GST_BIN (renderer->pipeline), "video_source");
|
||||
assert(renderer->appsrc);
|
||||
caps = gst_caps_from_string(h264_caps);
|
||||
g_object_set(renderer->appsrc, "caps", caps, NULL);
|
||||
g_object_set(renderer->appsrc, "caps", caps, "stream-type", 0, "is-live", TRUE, "format", GST_FORMAT_TIME, NULL);
|
||||
gst_caps_unref(caps);
|
||||
|
||||
renderer->sink = gst_bin_get_by_name (GST_BIN (renderer->pipeline), "video_sink");
|
||||
|
||||
8
uxplay.1
8
uxplay.1
@@ -60,11 +60,13 @@ UxPlay 1.50: An open\-source AirPlay mirroring server based on RPiPlay
|
||||
.TP
|
||||
\fB\-vs\fR 0 Streamed audio only, with no video display window.
|
||||
.TP
|
||||
\fB\-rpi\fR Raspberry Pi "Lite" GPU video with KMS framebuffer.
|
||||
\fB\-v4l2\fR Use Video4Linux2 for GPU hardware h264 video decoding.
|
||||
.TP
|
||||
\fB\-rpigl\fR Raspberry Pi GPU video with OpenGL.
|
||||
\fB\-rpi\fR Same as "-v4l2" (for RPi=Rasberry Pi).
|
||||
.TP
|
||||
\fB\-rpiwl\fR Raspberry Pi GPU video with Wayland compositor.
|
||||
\fB\-rpifb\fR Same as "-v4l2 -vs kmssink" for RPi using framebuffer.
|
||||
.TP
|
||||
\fB\-rpiwl\fR Same as "-v4l2 -vs waylandsink" for RPi using Wayland.
|
||||
.TP
|
||||
\fB\-avdec\fR Force software h264 video decoding with libav decoder.
|
||||
.TP
|
||||
|
||||
20
uxplay.cpp
20
uxplay.cpp
@@ -44,7 +44,7 @@
|
||||
#include "renderers/video_renderer.h"
|
||||
#include "renderers/audio_renderer.h"
|
||||
|
||||
#define VERSION "1.50"
|
||||
#define VERSION "1.51"
|
||||
|
||||
#define DEFAULT_NAME "UxPlay"
|
||||
#define DEFAULT_DEBUG_LOG false
|
||||
@@ -323,9 +323,10 @@ static void print_info (char *name) {
|
||||
printf(" some choices: ximagesink,xvimagesink,vaapisink,glimagesink,\n");
|
||||
printf(" gtksink,waylandsink,osximagesink,kmssink,fpsdisplaysink etc.\n");
|
||||
printf("-vs 0 Streamed audio only, with no video display window\n");
|
||||
printf("-rpi Raspberry Pi \"Lite\" GPU video with KMS frame buffer.\n");
|
||||
printf("-rpigl Raspberry Pi GPU video with OpenGL.\n");
|
||||
printf("-rpiwl Raspberry Pi GPU video with Wayland compositor.\n");
|
||||
printf("-v4l2 Use Video4Linux2 for GPU hardware h264 decoding\n");
|
||||
printf("-rpi Same as \"-v4l2\" (for RPi=Raspberry Pi).\n");
|
||||
printf("-rpifb Same as \"-v4l2 -vs kmssink\" for RPi using framebuffer.\n");
|
||||
printf("-rpiwl Same as \"-v4l2 -vs waylandsink\" for RPi using Wayland.\n");
|
||||
printf("-avdec Force software h264 video decoding with libav decoder\n");
|
||||
printf("-as ... Choose the GStreamer audiosink; default \"autoaudiosink\"\n");
|
||||
printf(" choices: pulsesink,alsasink,osssink,oss4sink,osxaudiosink\n");
|
||||
@@ -584,13 +585,18 @@ int main (int argc, char *argv[]) {
|
||||
video_decoder = "avdec_h264";
|
||||
video_converter.erase();
|
||||
video_converter = "videoconvert";
|
||||
} else if (arg == "-rpigl") {
|
||||
} else if (arg == "-v4l2" || arg == "rpi") {
|
||||
video_decoder.erase();
|
||||
video_decoder = "v4l2h264dec";
|
||||
video_converter.erase();
|
||||
video_converter = "v4l2convert";
|
||||
} else if (arg == "-rpifb") {
|
||||
video_decoder.erase();
|
||||
video_decoder = "v4l2h264dec";
|
||||
video_converter.erase();
|
||||
video_converter = "v4l2convert";
|
||||
videosink.erase();
|
||||
videosink = "glimagesink";
|
||||
videosink = "kmssink";
|
||||
} else if (arg == "-rpiwl" ) {
|
||||
video_decoder.erase();
|
||||
video_decoder = "v4l2h264dec";
|
||||
@@ -696,7 +702,7 @@ int main (int argc, char *argv[]) {
|
||||
}
|
||||
|
||||
if (use_video) {
|
||||
video_renderer_init(render_logger, server_name.c_str(), videoflip, video_parser.c_str(),
|
||||
video_renderer_init(render_logger, server_name.c_str(), videoflip, video_parser.c_str(),
|
||||
video_decoder.c_str(), video_converter.c_str(), videosink.c_str());
|
||||
video_renderer_start();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user