Skip to content

使用UxPlay來讓你的樹莓派 Raspberry Pi變成AirPlay伺服器

自從家裡添置了一台自組的Synology NAS之後,由於是7×24小時的開啟,而且又支援Docker,所以把所有的服務都往裡面丟,包括Web server、pi hole、home assistant之類等等。

想起以前購買下來的Raspberry Pi都沒在使用,好像有點浪費。早前把手上算力最低的Raspberry Pi 2B安裝了Openwrt作DHCP服務器使用。這陣子又找到了可以讓積塵已久的Raspberry Pi們發光發亮的用處,就是AirPlay Server!

由於解碼影片和音效需要一定的CPU算力,所以使用手上算力最高的Raspberry Pi 4B (64 bit)。因為要顯示畫面,所以這次就使用了官方的Raspberry Pi OS的Desktop版本。那燒錄OS的部分這邊就不再重覆了,網絡上有很多相關的文章或影片。

來說說今天使用的軟件,UxPlay 是一款適用於 Linux、macOS 和 BSD 的開源 AirPlay 2 鏡像伺服器,最初由 antimof 開發,支援從 iOS、iPadOS 和 macOS 設備進行螢幕鏡像和音頻串流至主機顯示器,並使用 GStreamer 進行渲染。接下來簡單說明一下安裝方法…

安裝方法也很簡單,使用debian系統的可以sudo apt install uxplay來安裝。而我使用了另外一種方法來安裝,就是使用snap,安裝方法也是大同小異:

首先使用apt安裝snap,然後重啟裝置

$ sudo apt update
$ sudo apt install snapd
$ sudo reboot

重啟裝置之後可以就可以安裝uxplay了

$ sudo snap install uxplay

安裝好了之後就可以試試直接執行試試

$ uxplay

在同一網絡環境下,使用iPhone查看螢幕鏡像輸出,然後你就會發現裡面多出了一個選項:UxPlay@raspberrypi。按下去你就會發現你的iPhone畫面輸出到Raspberry Pi的hdmi畫面了!

那接下來就是要把UxPlay弄成開機就自動執行的服務,那就可以擁有一個隨身便攜的AirPlay Server了。

首先輸入以下指令建立開機服務文件

$ sudo nano /etc/systemd/system/uxplay.service

然後輸入以下的內容

[Unit]
Description=Uxplay autostart

After=multi-user.target

[Service]
ExecStart=/snap/bin/uxplay -fps 60 -db -10:20
Environment=DISPLAY=:0
User=devi

[Install]
WantedBy=multi-user.target

注意ExecStart的路徑,使用snap安裝的路徑才是/snap/bin/uxplay,使用apt的應該是/usr/bin/uxplay之類的,可以使用指令which uxplay查詢路徑。

然後參數的部分我目前設定的是提升最大FPS到60 (預設30),然後調教音效範圍最低-10,最高20,其他有需要的可以到UxPlay的Github查看。

之後設定成開機服務就可以了

 $ sudo systemctl start uxplay.service
 $ sudo systemctl enable uxplay.service
Published inLinuxRaspberry Pi

Be First to Comment

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *