Your company here — click to reach over 10,000 unique daily visitors

uxplay - Man Page

start AirPlay server


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


UxPlay 1.68: 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
-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)

-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.
-s wxh[@r]Set display resolution [refresh_rate] default 1920x1080[@60]
-o        Set display "overscanned" mode on (not usually needed)
-fs       Full-screen (only works with X11, Wayland and VAAPI)
-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,


-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 with GStreamer < 1.22
-as sink  Choose the GStreamer audiosink; default "autoaudiosink"



-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.
-reset n  Reset after 3n seconds client silence (default 5, 0=never).
-nc       Do not close video window when client stops mirroring
-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).

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.

       Enable debug logging
       Displays version information
       Displays help information


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.

See Also

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


December 2023 1.68