当前位置: 首页 > news >正文

AirConnect项目完整使用指南:让AirPlay音频流传输到所有设备

AirConnect项目完整使用指南:让AirPlay音频流传输到所有设备

【免费下载链接】AirConnectUse AirPlay to stream to UPnP/Sonos & Chromecast devices项目地址: https://gitcode.com/gh_mirrors/ai/AirConnect

AirConnect是一个功能强大的开源工具,它能够将AirPlay音频流传输到UPnP/Sonos和Chromecast播放设备上。通过这个工具,用户可以在任何支持AirPlay的设备上播放音频,并将其转发到网络中的各种播放器,实现音频的多房间同步播放。

项目核心功能解析

AirConnect的核心价值在于它的桥接能力。它会在本地网络中自动发现UPnP/Sonos和Chromecast播放器,为每个检测到的播放器创建虚拟的AirPlay设备。这样一来,您的iPhone、iPad、MacBook或其他支持AirPlay的设备就能看到这些虚拟设备,并将音频流发送给它们。

支持的音频格式转换

  • 从ALAC解码后,可以以原始格式发送
  • 或者重新编码为MP3、AAC或FLAC格式
  • 大多数播放器支持元数据显示(艺术家、标题、专辑、封面等)

快速安装部署步骤

获取预编译二进制文件

项目提供了预编译的二进制文件包,用户可以通过以下方式获取:

wget https://raw.githubusercontent.com/philippe44/AirConnect/master/AirConnect-<版本号>.zip

解压后根据您的操作系统和CPU架构选择对应的可执行文件:

  • Chromecast设备:使用aircast-<操作系统>-<CPU>文件
  • UPnP/Sonos设备:使用airupnp-<操作系统>-<CPU>文件

例如,在MacOS Intel CPU上为Chromecast选择aircast-macos-x86_64文件

各系统安装配置

Windows系统

  1. 下载对应的可执行文件
  2. 安装Microsoft VC++运行库
  3. 将两个DLL文件放在与EXE文件相同的目录中
  4. 双击运行即可

MacOS系统

  1. 下载对应版本的可执行文件
  2. 在终端中执行权限设置:
    chmod +x airupnp-macos
  3. 运行可执行文件

Linux系统

  1. 下载对应版本的可执行文件
  2. 设置执行权限:
    chmod +x airupnp-linux-aarch64
  3. 运行程序

网络端口配置要求

为了确保AirConnect正常工作,需要在防火墙中开放以下端口:

  • 端口5353 (UDP):用于监听mDNS消息
  • 每个设备永久占用1个端口:用于RTSP连接
  • 播放时额外占用4个端口:1个HTTP端口和3个RTP端口

启动运行方法

基础启动方式

双击可执行文件或在命令行中运行:

./airupnp-linux-aarch64

对于Sonos和Heos播放器,建议设置延迟参数:

./airupnp-linux-aarch64 -l 1000:2000

后台运行配置

在非Windows/MacOS系统上,可以使用-z参数让程序在后台运行:

./airupnp-linux-aarch64 -z

系统自动启动设置

Linux系统服务配置

创建系统服务文件/etc/systemd/system/airupnp.service

[Unit] Description=AirUPnP桥接服务 After=network-online.target Wants=network-online.target [Service] ExecStart=/var/lib/airconnect/airupnp-linux-arm -l 1000:2000 -Z -x /var/lib/airconnect/airupnp.xml Restart=on-failure RestartSec=30 [Install] WantedBy=multi-user.target

启用并启动服务:

sudo systemctl enable airupnp.service sudo service airupnp start

MacOS自动启动

创建启动代理文件~/Library/LaunchAgents/com.aircast.bridge.plist

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.aircast.bridge</string> <key>ProgramArguments</key> <array> <string>/[路径]/aircast-macos</string> <string>-Z</string> <string>-x</string> <string>/[路径]/aircast.xml</string> <string>-f</string> <string>/[路径]/aircast.log</string> </array> <key>RunAtLoad</key> <true/> <key>LaunchOnlyOnce</key> <true/> <key>KeepAlive</key> <true/> </dict> </plist>

配置参数详解

命令行常用参数

  • -h:显示详细的命令行帮助信息
  • -l <rtp延迟>:<http延迟>:设置音频延迟参数
  • -c mp3|aac|flac|wav|pcm:设置音频重新编码格式
  • -Z:禁用交互模式
  • -z:禁用交互模式并自守护进程化

配置文件设置

创建配置文件config.xml,可以设置以下参数:

<common> <latency>1000:2000</latency> <codec>flac</codec> <metadata>1</metadata> </common>

关键配置项说明

  • latency:缓冲调整,解决音频卡顿或网络不佳问题
  • codec:HTTP音频发送格式,推荐使用FLAC
  • metadata:向播放器发送元数据

常见问题解决方案

设备发现失败

如果播放器经常消失,可能是路由器过滤了多播数据包。检查路由器的多播设置,确保允许mDNS流量通过。

音频延迟问题

当切换音轨或源时出现延迟,这是因为AirPlay和UPnP/Chromecast之间的协议差异导致的。可以通过调整延迟参数来优化。

静态版本使用

项目提供了静态链接版本(文件名包含"-static"),这些版本包含了所有必要的库文件。只有在常规版本无法正常工作时才建议使用静态版本。

高级使用技巧

多房间音频同步

AirConnect支持在多房间中同步播放同一音频源。确保所有设备都在同一网络中,并使用相同的音频编码格式。

音量同步控制

通过AirPlay客户端进行的音量更改会与原生控制应用程序同步。对于Sonos组,每个播放器的音量会相对调整。

特定播放器优化

Sonos播放器

  • 使用UPnP版本
  • 组创建时只有主设备会显示为AirPlay播放器
  • 使用-l 1000:2000参数设置延迟

Bose SoundTouch

  • 工作良好,包括同步功能
  • 需要使用Bose原生应用程序进行分组/取消分组

编译从源码

如果您需要从源代码编译:

git clone https://gitcode.com/gh_mirrors/ai/AirConnect cd AirConnect git submodule update --init cd airupnp make

通过以上完整的配置和使用指南,您可以轻松地将AirConnect部署到您的家庭网络中,享受将AirPlay音频流传输到各种播放设备的便利。

【免费下载链接】AirConnectUse AirPlay to stream to UPnP/Sonos & Chromecast devices项目地址: https://gitcode.com/gh_mirrors/ai/AirConnect

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

http://www.cnnetsun.cn/news/26434.html

相关文章:

  • 数据结构==LRU Cache ==
  • AMD ROCm平台上的YOLOv8目标检测:从入门到精通的5步优化指南
  • 如何让GPT-5.2成为你职场上的得力助手?这5大功能必看!
  • 如何快速掌握YOLOv12:实时目标检测的完整实践指南
  • PINNs-Torch:用PyTorch轻松实现物理信息神经网络
  • JavaScript学习笔记:5.函数
  • Apache Kvrocks数据库部署实战:从零到一的完整搭建教程
  • 16、远程系统管理与安全防护指南
  • 施耐德BMENOC0321C:高性能模块化驱动控制器(增强通信版)
  • 金融人转AI:从入门到上手,我的“证书认证+技能”学习路线分享
  • 模块化多电平变换器MMC(20子模块、21电平,工作条件220kV(AC)/400kV(DC)...
  • 生态共舞!恭喜10家企业荣获“2025龙蜥社区最佳联合解决方案奖”
  • Java常见开发框架大比拼:Jeesite 、jeecgBoot、smartAdmin、ruoyi
  • IDEA(2020版)实现HttpServletRequest对象
  • 跨平台开发框架选型指南:Uniapp、React Native、Flutter
  • 数字孪生软件开发公司
  • springboot基于vue的校园报修管理系统设计与实现_t45k51ip
  • 嵌入式彩屏单色字体点阵的存储结构设计
  • 《Medical Vision Generalist: Unifying Medical Imaging Tasks in Context》(医学视觉通才:在上下文中统一医学成像任务)的
  • 西安电子科技大学专属信纸模板:3分钟打造专业学术形象
  • 【每日一题】PCIe答疑 - 接大量 GPU 时主板不认设备或无法启动和MMIO的可能关系?
  • 富有的哈佛人 —— 储蓄:财富积累的第一块基石
  • 终极指南:快速掌握eventpp事件处理库的8种集成方法
  • 光刻胶用二正丁基胺增感剂:
  • Spyder vs Jupyter:科学计算效率大比拼
  • 【第八天】08c#今日小结
  • Windows临时文件夹清理指南:释放C盘空间
  • AI助力:用自然语言生成复杂tar命令,告别记忆负担
  • 三相L型并网逆变器:dq坐标系下的控制系统设计与Simulink仿真模型搭建
  • RBP神经网络PID自适应控制模型(Matlab仿真模型及详解资料包,省去PID参数调节