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