Docker安装AirConnect并自定义AirPlay设备名
星期四, 12月 5, 2024 | 2分钟阅读 | 更新于 星期四, 12月 5, 2024
一. AirConnect 是什么?
AirConnect 是 github 上面一个开源的项目,在各方大神的努力下,现在有了支持群晖的分支。它允许你使用 AirPlay 播放流媒体到不支持 AirPlay 的如 UPnP/Sonos & Chromecast 设备。简单来说,只要你在局域网的任何一台支持安装 AirConnect 的设备安装了该软件,它就能使你局域网的不支持 AirPlay 的设备支持 AirPlay。
二. 安装和准备
1. 开启音箱的 DLAN
功能
2. 安装 AirConnect
安装前请确认docker已经正常可用
docker run -d --name AirConnect --net=host 1activegeek/airconnect
这时打开 iPhone 手机的 Airplay 列表里就会出现小爱音箱 (如果没有请检查是否开启 DLAN 或者重启小爱音箱)
三. 自定义AirPlay设备名
登录 AirConnect 容器
docker exec -it AirConnect bash
安装编辑器 vim
apt install vim
以下操作以 UPnP/Sonos (airupnp) 设备为例, Chromecast (aircast) 相似
根据网络环境生成默认配置,执行以下命令
bin/airupnp-linux-x86_64 -i /config.xml
等待命令执行完成
修改启动守护程序
vim /etc/supervisord.conf
[supervisord]
nodaemon=true
[program:airupnp]
redirect_stderr=true
command=/bin/airupnp-linux-x86_64 -l 1000:2000 -x /config.xml #此处修改,增加 -x 参数(指定运行配置)
process_name = airupnp-linux-x86_64
[program:aircast]
redirect_stderr=true
command=/bin/aircast-linux-x86_64
process_name = aircast-linux-x86_64
修改 AirConnect 配置文件,自定义
vim /config.xml
<?xml version="1.0"?>
<airupnp>
<common>
<protocolInfo>
<pcm>http-get:*:audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=0d500000</pcm>
<wav>http-get:*:audio/wav:DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=0d500000</wav>
<flac>http-get:*:audio/flac:DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=0d500000</flac>
<mp3>http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=0d500000</mp3>
</protocolInfo>
<enabled>1</enabled>
<max_volume>100</max_volume>
<http_length>-1</http_length>
<upnp_max>1</upnp_max>
<codec>flc</codec>
<metadata>1</metadata>
<flush>1</flush>
<artwork></artwork>
<latency></latency>
<drift>0</drift>
</common>
<main_log>info</main_log>
<upnp_log>info</upnp_log>
<util_log>warn</util_log>
<raop_log>info</raop_log>
<log_limit>-1</log_limit>
<max_players>32</max_players>
<binding>?</binding>
<ports>0:0</ports>
<device>
<udn>uuid:xxxxxx-xxxxxx-xxx-xxxx-xxxxxxxxxxx</udn>
<name>小爱音箱-3949+</name> # 直接修改这里,例如修改为 客厅小爱音箱)
<mac>xx:xx:xx:xx:xx:xx</mac>
<enabled>1</enabled> # 取消这个设备的airplay显示
</device>
<device>
<udn>uuid:xxxxxx-xxxxxx-xxx-xxxx-xxxxxxxxxxx</udn>
<name>小爱音箱-1282+(直接修改这里,例如修改为 卧室小爱音箱)</name>
<mac>xx:xx:xx:xx:xx:xx</mac>
<enabled>1</enabled>
</device>
</airupnp>
:wq
保存
exit
退出容器
重启容器
docker restart AirConnect
其他相关阅读
airupnp-linux-x86_64 命令参数
Usage: [options]
-b < address> network address to bind to
-c <mp3[:<rate>]|flc[:0..9]|wav> audio format send to player
-x <config file> read config from file (default is ./config.xml)
-i <config file> discover players, save <config file> and exit
-I auto save config at every network scan
-l <[rtp][:http][:f]> RTP and HTTP latency (ms), ':f' forces silence fill
-r let timing reference drift (no click)
-f <logfile> Write debug to logfile
-p <pid file> write PID in file
-d <log>=<level> Set logging level, logs: all|raop|main|util|cast, level: error|warn|info|debug|sdebug
-Z NOT interactive
-k Immediate exit on SIGQUIT and SIGTERM
-t
AirConnect Docker image https://hub.docker.com/r/1activegeek/airconnect/