2025-05-01 23:32:42 -04:00
|
|
|
.TH UXPLAY "1" "May 2025" "1.72" "User Commands"
|
2021-10-08 16:41:26 +02:00
|
|
|
.SH NAME
|
2021-11-11 06:32:50 -05:00
|
|
|
uxplay \- start AirPlay server
|
2021-10-08 16:41:26 +02:00
|
|
|
.SH SYNOPSIS
|
|
|
|
|
.B uxplay
|
2021-11-11 06:32:50 -05:00
|
|
|
[\fI\,-n name\/\fR] [\fI\,-s wxh\/\fR] [\fI\,-p \/\fR[\fI\,n\/\fR]] [more \fI OPTIONS \/\fR ...]
|
2021-10-08 16:41:26 +02:00
|
|
|
.SH DESCRIPTION
|
2025-05-01 23:32:42 -04:00
|
|
|
UxPlay 1.72: An open\-source AirPlay mirroring (+ audio streaming) server:
|
2021-10-08 16:41:26 +02:00
|
|
|
.SH OPTIONS
|
|
|
|
|
.TP
|
2021-10-09 06:02:26 -04:00
|
|
|
.B
|
|
|
|
|
\fB\-n\fR name Specify the network name of the AirPlay server
|
2021-10-08 16:41:26 +02:00
|
|
|
.TP
|
2023-04-23 19:25:02 -04:00
|
|
|
\fB\-nh\fR Do \fBNOT\fR append "@\fIhostname\fR" at end of AirPlay server name
|
2021-12-10 00:29:54 +01:00
|
|
|
.TP
|
2024-09-17 18:12:40 -04:00
|
|
|
\fB\-h265\fR Support h265 (4K) video (with h265 versions of h264 plugins)
|
|
|
|
|
.TP
|
2024-12-10 01:36:32 -05:00
|
|
|
\fB\-hls\fR Support HTTP Live Streaming (currently YouTube video only)
|
2025-02-01 14:35:57 -05:00
|
|
|
.IP
|
|
|
|
|
v = 2 or 3 (default 3) optionally selects video player version
|
2024-12-10 01:36:32 -05:00
|
|
|
.TP
|
2023-12-01 18:55:57 -05:00
|
|
|
\fB\-pin\fI[xxxx]\fRUse a 4-digit pin code to control client access (default: no)
|
2023-11-24 10:19:06 -05:00
|
|
|
.IP
|
2023-12-01 04:40:59 -05:00
|
|
|
without option, pin is random: optionally use fixed pin xxxx.
|
2023-11-24 10:19:06 -05:00
|
|
|
.TP
|
2023-12-26 04:57:37 -05:00
|
|
|
\fB\-reg\fI [fn]\fR Keep a register in $HOME/.uxplay.register to verify returning
|
|
|
|
|
.IP
|
|
|
|
|
client pin-registration; (option: use file "fn" for this)
|
|
|
|
|
.TP
|
2025-04-22 17:13:13 -04:00
|
|
|
\fB\-pw\fI [pwd]\fR Require use of password "pwd" to control client access.
|
|
|
|
|
.IP
|
|
|
|
|
(with no \fIpwd\fR, pin entry is required at \fIeach\fR connection.)
|
|
|
|
|
|
|
|
|
|
.IP
|
|
|
|
|
(option "-pw" after "-pin" overrides it, and vice versa.)
|
|
|
|
|
.TP
|
2023-04-23 19:25:02 -04:00
|
|
|
\fB\-vsync\fI[x]\fR Mirror mode: sync audio to video using timestamps (default)
|
|
|
|
|
.IP
|
|
|
|
|
\fIx\fR is optional audio delay: millisecs, decimal, can be neg.
|
|
|
|
|
.TP
|
|
|
|
|
\fB\-vsync\fR no Switch off audio/(server)video timestamp synchronization.
|
2023-02-12 18:03:03 -05:00
|
|
|
.TP
|
2023-04-23 19:25:02 -04:00
|
|
|
\fB\-async\fR[\fIx\fR] Audio-Only mode: sync audio to client video (default: no).
|
2023-02-12 18:03:03 -05:00
|
|
|
.TP
|
2023-04-23 19:25:02 -04:00
|
|
|
\fB\-async\fR no Switch off audio/(client)video timestamp synchronization.
|
2023-02-08 01:31:44 -05:00
|
|
|
.TP
|
2023-12-26 19:09:06 -05:00
|
|
|
\fB\-db\fI l[:h]\fR Set minumum volume attenuation to l dB (decibels, negative);
|
|
|
|
|
.IP
|
|
|
|
|
optional: set maximum to h dB (+ or -); default -30.0:0.0
|
|
|
|
|
.PP
|
|
|
|
|
.TP
|
2023-12-29 04:32:31 -05:00
|
|
|
\fB\-taper\fR Use a "tapered" AirPlay volume-control profile.
|
|
|
|
|
.TP
|
2025-04-22 03:47:30 -04:00
|
|
|
\fB\-vol\fI v \fR Set initial audio-streaming volume: range [mute=0.0:1.0=full].
|
|
|
|
|
.TP
|
2024-09-17 18:15:28 -04:00
|
|
|
\fB\-s\fR wxh[@r]Request to client for video display resolution [refresh_rate]
|
|
|
|
|
.IP
|
|
|
|
|
default 1920x1080[@60] (or 3840x2160[@60] with -h265 option).
|
|
|
|
|
.PP
|
2021-10-08 16:41:26 +02:00
|
|
|
.TP
|
2022-06-30 16:02:12 -04:00
|
|
|
\fB\-o\fR Set display "overscanned" mode on (not usually needed)
|
2021-10-08 16:41:26 +02:00
|
|
|
.TP
|
2025-01-30 06:35:09 -05:00
|
|
|
\fB-fs\fR Full-screen (only with X11, Wayland, VAAPI, D3D11, kms)
|
2022-04-17 00:05:55 -04:00
|
|
|
.TP
|
2021-10-08 16:41:26 +02:00
|
|
|
\fB\-p\fR Use legacy ports UDP 6000:6001:7011 TCP 7000:7001:7100
|
|
|
|
|
.TP
|
|
|
|
|
\fB\-p\fR n Use TCP and UDP ports n,n+1,n+2. range 1024\-65535
|
|
|
|
|
.IP
|
2021-10-09 06:02:26 -04:00
|
|
|
use "\-p n1,n2,n3" to set each port, "n1,n2" for n3 = n2+1
|
|
|
|
|
.IP
|
2021-11-11 06:32:50 -05:00
|
|
|
"\-p tcp n" or "\-p udp n" sets TCP or UDP ports separately.
|
2021-10-08 16:41:26 +02:00
|
|
|
.PP
|
|
|
|
|
.TP
|
2022-06-30 16:02:12 -04:00
|
|
|
\fB\-avdec\fR Force software h264 video decoding with libav decoder.
|
2021-10-08 16:41:26 +02:00
|
|
|
.TP
|
2022-02-28 12:21:18 -05:00
|
|
|
\fB\-vp\fI prs \fR Choose GStreamer h264 parser; default "h264parse"
|
|
|
|
|
.TP
|
2022-02-24 03:34:45 -05:00
|
|
|
\fB\-vd\fI dec \fR Choose GStreamer h264 decoder; default "decodebin"
|
|
|
|
|
.IP
|
2022-02-24 18:09:54 -05:00
|
|
|
choices: (software) avdec_h264; (hardware) v4l2h264dec,
|
|
|
|
|
.IP
|
2022-02-25 02:11:10 -05:00
|
|
|
nvdec, nvh264dec, vaapih264dec, vtdec, ...
|
2022-02-24 03:34:45 -05:00
|
|
|
.TP
|
|
|
|
|
\fB\-vc\fI cnv \fR Choose GStreamer videoconverter; default "videoconvert"
|
|
|
|
|
.IP
|
2022-02-24 18:09:54 -05:00
|
|
|
another choice when using v4l2h264dec: v4l2convert.
|
2022-02-24 03:34:45 -05:00
|
|
|
.TP
|
|
|
|
|
\fB\-vs\fI sink\fR Choose the GStreamer videosink; default "autovideosink"
|
2021-10-09 06:02:26 -04:00
|
|
|
.IP
|
2022-02-24 18:09:54 -05:00
|
|
|
choices: ximagesink,xvimagesink,vaapisink,glimagesink,
|
2021-11-11 06:32:50 -05:00
|
|
|
.IP
|
2023-08-26 19:11:05 -04:00
|
|
|
gtksink,waylandsink,osxvideosink,kmssink,d3d11videosink,...
|
2021-10-09 06:02:26 -04:00
|
|
|
.PP
|
|
|
|
|
.TP
|
2021-11-11 06:44:48 -05:00
|
|
|
\fB\-vs\fR 0 Streamed audio only, with no video display window.
|
|
|
|
|
.TP
|
2022-04-24 21:13:30 -04:00
|
|
|
\fB\-v4l2\fR Use Video4Linux2 for GPU hardware h264 video decoding.
|
2022-04-17 00:05:55 -04:00
|
|
|
.TP
|
2024-12-14 10:51:27 -05:00
|
|
|
\fB\-bt709\fR Sometimes needed for Raspberry Pi models using Video4Linux2.
|
2022-03-08 04:22:37 -05:00
|
|
|
.TP
|
2024-12-19 21:04:51 -05:00
|
|
|
\fB\-srgb\fR Display "Full range" [0-255] color, not "Limited Range"[16-235]
|
|
|
|
|
.IP
|
|
|
|
|
This is a workaround for a GStreamer problem, until it is fixed.
|
|
|
|
|
.PP
|
|
|
|
|
\fB\-srgb\fR no Disable srgb option (use when enabled by default: Linux, *BSD)
|
|
|
|
|
.TP
|
2022-02-25 02:11:10 -05:00
|
|
|
\fB\-as\fI sink\fR Choose the GStreamer audiosink; default "autoaudiosink"
|
2021-10-08 16:41:26 +02:00
|
|
|
.IP
|
2022-08-20 17:44:53 -04:00
|
|
|
choices:pulsesink,alsasink,pipewiresink,osssink,oss4sink,
|
|
|
|
|
.IP
|
2022-09-03 16:29:40 -04:00
|
|
|
jackaudiosink,osxaudiosink,wasapisink,directsoundsink,..
|
2021-10-08 16:41:26 +02:00
|
|
|
.PP
|
|
|
|
|
.TP
|
2021-11-11 06:32:50 -05:00
|
|
|
\fB\-as\fR 0 (or \fB\-a\fR) Turn audio off, streamed video only.
|
2021-10-08 16:41:26 +02:00
|
|
|
.TP
|
2023-02-07 23:54:23 -05:00
|
|
|
\fB\-al\fR x Audio latency in seconds (default 0.25) reported to client.
|
2023-01-14 23:28:35 -05:00
|
|
|
.TP
|
2022-06-30 16:02:12 -04:00
|
|
|
\fB\-ca\fI fn \fR In Airplay Audio (ALAC) mode, write cover-art to file fn.
|
|
|
|
|
.TP
|
2025-04-16 19:07:44 -04:00
|
|
|
\fB\-md\fI fn \fR In Airplay Audio (ALAC) mode, write metadata text to file fn.
|
|
|
|
|
.TP
|
2025-01-24 19:18:09 -05:00
|
|
|
\fB\-reset\fR n Reset after n seconds client silence (default n=15, 0=never).
|
2022-02-06 12:23:36 -05:00
|
|
|
.TP
|
2024-08-09 18:14:53 -04:00
|
|
|
\fB\-nofreeze\fR Do NOT leave frozen screen in place after reset.
|
|
|
|
|
.TP
|
|
|
|
|
\fB\-nc\fR Do NOT close video window when client stops mirroring
|
2022-01-10 19:08:48 -05:00
|
|
|
.TP
|
2022-10-29 02:12:54 -04:00
|
|
|
\fB\-nohold\fR Drop current connection when new client connects.
|
|
|
|
|
.TP
|
2023-09-05 17:26:28 -04:00
|
|
|
\fB\-restrict\fR Restrict clients to those specified by "-allow deviceID".
|
2023-09-05 14:06:36 -04:00
|
|
|
.IP
|
2023-09-05 17:26:28 -04:00
|
|
|
Uxplay displays deviceID when a client attempts to connect.
|
2023-09-05 14:06:36 -04:00
|
|
|
.IP
|
|
|
|
|
Use "-restrict no" for no client restrictions (default).
|
|
|
|
|
.PP
|
2023-09-05 17:26:28 -04:00
|
|
|
\fB\-allow\fR id Permit deviceID = id to connect if restrictions are imposed.
|
2023-09-05 14:06:36 -04:00
|
|
|
.TP
|
2023-09-05 17:26:28 -04:00
|
|
|
\fB\-block\fR id Always block connections from deviceID = id.
|
2023-09-05 14:06:36 -04:00
|
|
|
.TP
|
2022-02-05 00:55:13 -05:00
|
|
|
\fB\-FPSdata\fR Show video-streaming performance reports sent by client.
|
|
|
|
|
.TP
|
2023-01-20 17:41:00 -05:00
|
|
|
\fB\-fps\fR n Set maximum allowed streaming framerate, default 30
|
2022-06-30 16:02:12 -04:00
|
|
|
.TP
|
|
|
|
|
\fB\-f\fR {H|V|I}Horizontal|Vertical flip, or both=Inversion=rotate 180 deg
|
|
|
|
|
.TP
|
|
|
|
|
\fB\-r\fR {R|L} Rotate 90 degrees Right (cw) or Left (ccw)
|
|
|
|
|
.TP
|
2023-12-26 04:57:37 -05:00
|
|
|
\fB\-m\fI [mac]\fR Set MAC address (also Device ID); use for concurrent UxPlays
|
|
|
|
|
.IP
|
|
|
|
|
if mac xx:xx:xx:xx:xx:xx is not given, a random MAC is used.
|
|
|
|
|
.PP
|
2022-06-30 16:02:12 -04:00
|
|
|
.TP
|
2023-12-26 04:57:37 -05:00
|
|
|
\fB\-key\fI [fn]\fR Store private key in $HOME/.uxplay.pem (or in file "fn")
|
|
|
|
|
.PP
|
2023-11-28 19:10:10 -05:00
|
|
|
.TP
|
2023-12-05 12:06:51 -05:00
|
|
|
\fB\-dacp\fI [fn]\fRExport client DACP information to file $HOME/.uxplay.dacp
|
|
|
|
|
.IP
|
|
|
|
|
(option to use file "fn" instead); used for client remote.
|
|
|
|
|
.PP
|
|
|
|
|
.TP
|
2022-03-28 13:03:29 -04:00
|
|
|
\fB\-vdmp\fR [n] Dump h264 video output to "fn.h264"; fn="videodump", change
|
|
|
|
|
.IP
|
2022-12-09 13:36:18 -05:00
|
|
|
with "-vdmp [n] filename". If [n] is given, file fn.x.h264
|
2022-03-28 13:03:29 -04:00
|
|
|
.IP
|
2022-12-09 13:36:18 -05:00
|
|
|
x=1,2,.. opens whenever a new SPS/PPS NAL arrives, and <=n
|
2022-03-28 13:03:29 -04:00
|
|
|
.IP
|
2022-12-09 13:36:18 -05:00
|
|
|
NAL units are dumped.
|
2022-03-28 13:03:29 -04:00
|
|
|
.PP
|
|
|
|
|
.TP
|
|
|
|
|
\fB\-admp\fR [n] Dump audio output to "fn.x.fmt", fmt ={aac, alac, aud}, x
|
|
|
|
|
.IP
|
2022-12-09 13:36:18 -05:00
|
|
|
=1,2,..; fn="audiodump"; change with "-admp [n] filename".
|
2022-03-28 13:03:29 -04:00
|
|
|
.IP
|
2022-12-09 13:36:18 -05:00
|
|
|
x increases when audio format changes. If n is given, <= n
|
2022-03-28 13:03:29 -04:00
|
|
|
.IP
|
2022-12-09 13:36:18 -05:00
|
|
|
audio packets are dumped. "aud"= unknown format.
|
2022-03-28 13:03:29 -04:00
|
|
|
.PP
|
|
|
|
|
.TP
|
2025-02-20 02:15:14 -05:00
|
|
|
\fB\-d [n]\fR Enable debug logging; optional: n=1 to skip normal packet data.
|
2021-10-08 16:41:26 +02:00
|
|
|
.TP
|
2022-07-22 03:49:21 -04:00
|
|
|
\fB\-v\fR Displays version information
|
|
|
|
|
.TP
|
|
|
|
|
\fB\-h\fR Displays help information
|
2025-05-14 13:04:34 -04:00
|
|
|
.TP
|
|
|
|
|
\fB\-rc\fI fn\fR Read startup options from file "fn" instead of ~/.uxplayrc, etc
|
2023-04-23 19:25:02 -04:00
|
|
|
.SH
|
|
|
|
|
FILES
|
|
|
|
|
Options in one of $UXPLAYRC, or ~/.uxplayrc, or ~/.config/uxplayrc
|
|
|
|
|
.TP
|
2023-12-30 23:51:34 -05:00
|
|
|
are applied first (command-line options may modify them). Format:
|
2023-04-23 19:25:02 -04:00
|
|
|
.TP
|
|
|
|
|
one option per line,\fI no\fR initial "-"; lines beginning with "#" ignored.
|
|
|
|
|
.SH
|
|
|
|
|
AUTHORS
|
|
|
|
|
.TP
|
|
|
|
|
Various, see website or distribution.
|
|
|
|
|
.SH
|
|
|
|
|
COPYRIGHT
|
|
|
|
|
.TP
|
2023-12-05 12:06:51 -05:00
|
|
|
Various, see website or distribution. License: GPL v3+:
|
2023-04-23 19:25:02 -04:00
|
|
|
.TP
|
2023-12-05 12:06:51 -05:00
|
|
|
GNU GPL version 3 or later. (some parts LGPL v.2.1+ or MIT).
|
2023-04-23 19:25:02 -04:00
|
|
|
.SH
|
|
|
|
|
SEE ALSO
|
|
|
|
|
.TP
|
|
|
|
|
Website: <https://github.com/FDH2/UxPlay>
|