Manpage logo

uxplay - start AirPlay server

NAME  SYNOPSIS  DESCRIPTION  OPTIONS  FILES  AUTHORS  COPYRIGHT  SEE ALSO 

NAME

uxplay − start AirPlay server

SYNOPSIS

uxplay [-n name] [-s wxh] [-p [n]] [more OPTIONS ...]

DESCRIPTION

UxPlay 1.72: An open−source AirPlay mirroring (+ audio streaming) server:

OPTIONS

−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

FILES

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.

AUTHORS

Various, see website or distribution.

COPYRIGHT

Various, see website or distribution. License: GPL v3+:
GNU GPL version 3 or later. (some parts LGPL v.2.1+ or MIT).

SEE ALSO

Website: <https://github.com/FDH2/UxPlay>


Updated 2026-06-01 - jenkler.se | uex.se