● UxPlayの動作環境
Raspberry Pi 4 8GB版(gpu_mem 64MB)
Raspberry Pi OS bullseye 32bit April 4th 2022
● UxPlayのインストール方法
$ uname -a
Linux raspberrypi 5.15.32-v7l+ #1538 SMP Thu Mar 31 19:39:41 BST 2022 armv7l GNU/Linux
sudo apt-get update
sudo apt-get install -y cmake build-essential pkg-config
sudo apt-get install -y libssl-dev libplist-dev
sudo apt-get install -y libavahi-compat-libdnssd-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt-get install -y gstreamer1.0-plugins-base
# gstreamer1.0-plugins-base is already the newest version (1.18.4-2).
sudo apt-get install -y gstreamer1.0-libav
# gstreamer1.0-libav is already the newest version (1.18.4-3).
sudo apt-get install -y gstreamer1.0-plugins-good
# gstreamer1.0-plugins-good is already the newest version (1.18.4-2+~rpt1).
cd
git clone https://github.com/FDH2/UxPlay
cd UxPlay
mkdir build
cd build
cmake ..
make -j
sudo make install
# Installing: /usr/local/bin/uxplay
● UxPlayの起動方法
uxplayを実行する。
uxplay
-t n のオプションは便利そう。
直近の n秒間に接続が無い場合、サーバーを再起動する。
Relaunch server if no connection existed in last n seconds
$ uxplay -h
UxPlay 1.51: An open-source AirPlay mirroring server based on RPiPlay
Usage: uxplay [-n name] [-s wxh] [-p [n]]
Options:
-n name Specify the network name of the AirPlay server
-nh Do not add "@hostname" at the end of the AirPlay server name
-s wxh[@r]Set display resolution [refresh_rate] default 1920x1080[@60]
-o Set mirror "overscanned" mode on (not usually needed)
-fs Full-screen (only with Wayland and VAAPI plugins)
-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)
-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
-m Use random MAC address (use for concurrent UxPlay's)
-t n Relaunch server if no connection existed in last n seconds
-vp ... Choose the GSteamer h264 parser: default "h264parse"
-vd ... Choose the GStreamer h264 decoder; default "decodebin"
choices: (software) avdec_h264; (hardware) v4l2h264dec,
nvdec, nvh264dec, vaapih64dec, vtdec,etc.
choices: avdec_h264,vaapih264dec,nvdec,nvh264dec,v4l2h264dec
-vc ... Choose the GStreamer videoconverter; default "videoconvert"
another choice when using v4l2h264decode: v4l2convert
-vs ... Choose the GStreamer videosink; default "autovideosink"
some choices: ximagesink,xvimagesink,vaapisink,glimagesink,
gtksink,waylandsink,osximagesink,kmssink,fpsdisplaysink etc.
-vs 0 Streamed audio only, with no video display window
-v4l2 Use Video4Linux2 for GPU hardware h264 decoding
-rpi Same as "-v4l2" (for RPi=Raspberry Pi).
-rpifb Same as "-v4l2 -vs kmssink" for RPi using framebuffer.
-rpiwl Same as "-v4l2 -vs waylandsink" for RPi using Wayland.
-avdec Force software h264 video decoding with libav decoder
-as ... Choose the GStreamer audiosink; default "autoaudiosink"
choices: pulsesink,alsasink,osssink,oss4sink,osxaudiosink
-as 0 (or -a) Turn audio off, streamed video only
-reset n Reset after 3n seconds client silence (default 5, 0=never)
-nc do Not Close video window when client stops mirroring
-FPSdata Show video-streaming performance reports sent by client.
-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 Enable debug logging
-v or -h Displays this help and version information