Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
UXPLAY(1)			  User Commands 		       UXPLAY(1)

NAME
     uxplay - start AirPlay server

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

DESCRIPTION
     UxPlay 1.73.6: An open-source AirPlay mirroring (+ audio streaming) server:

OPTIONS
     -n name   Specify the network name of the AirPlay server (UTF-8/ascii)

     -nh       Do NOT append "@hostname" at end of AirPlay server name

     -h265     Support h265 (4K) video (with h265 versions of h264 plugins)

     -mp4 [fn] Record (non-HLS)audio/video to mp4 file "fn.[n].[format].mp4"

	       n=1,2,.. format = H264/5, ALAC/AAC. Default fn="recording"

     -hls [v]  Support HTTP Live Streaming (HLS), YouTube app video only:

	       v = 2 or 3 (default 3) optionally selects video player version

     -lang xx  HLS language preferences ("fr:es:..", overrides $LANGUAGE)

     -lang    (or -lang 0): play undubbed HLS version (overrides $LANGUAGE)

     -scrsv n  Screensaver override n:0=off 1=on while displaying video 2=always
     on.

     -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,kmssink,fbdevsink,osxvideosink,

	       d3d11videosink,d3d12videosink ...

     -vs 0     Streamed audio only, with no video display window.

     -vrtp pl  Use rtph26[4,5]pay to send decoded video elsewhere: "pl"

	       is the remaining pipeline, starting with rtph26*pay options:

	       e.g. "config-interval=1 ! udpsink host=127.0.0.1 port=5000"

     -artp pl  Use rtpL16pay to send decoded audio elsewhere: "pl"

	       is the remaining pipeline, starting with rtpL16pay options:

	       e.g. "pt=96 ! udpsink host=127.0.0.1 port=5002"

     -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       Display cover-art in AirPlay Audio (ALAC) mode.

     -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.

     -ble [fn] For BluetoothLE beacon: write data to default file ~/.uxplay.ble

	       optional: write to file "fn" ("fn" = "off" to cancel)

     -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>

UxPlay 1.73.6			   2026-03-222			       UXPLAY(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=uxplay&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help