aes67-sender:实现音频设备与AES67网络连接的核心功能
项目介绍
aes67-sender 是一个开源项目,旨在将电脑上的声音卡输入(例如麦克风、线路输入等)转化为AES67网络流。AES67是一种音频网络协议标准,允许音频设备通过以太网进行高精度同步和低延迟的音频传输。aes67-sender 支持Windows、Linux 和 MacOS 操作系统,并已在Ubuntu (18.04 和 20.04)、Raspbian 和 Windows 10 上进行了测试,MacOS 尚未测试。
项目技术分析
aes67-sender 使用 Audify 作为音频后端,它预构建了适用于大多数主要平台和Node版本的二进制文件。如果需要从源代码构建Audify,可以参考官方文档。项目的主要功能是通过命令行界面(CLI)实现的,用户可以通过不同的参数来配置和启动AES67流。
项目依赖于以下技术组件:
- 音频API支持:ALSA, OSS, PulseAudio, JACK, CoreAudio, ASIO, DirectSound 和 WASAPI。
- PTP客户端:用于绑定到低于1024的端口,确保网络同步。
- 网络接口:允许用户指定IPv4地址,以便正确地发送和接收网络音频流。
项目及技术应用场景
aes67-sender 的应用场景广泛,适用于以下几种情况:
-
Raspberry Pi 与音频接口:用户可以将其Raspberry Pi 4(运行Ubuntu 20.04)设置为AES67发送器,连接至如Focusrite Scarlett 2i2等USB音频接口。通过aes67-sender,可以将音频接口的输入信号发送至AES67网络。
-
混合Dante/AES67网络:在混合网络环境中,aes67-sender 可以帮助实现低延迟的音频传输,这对于确保音频质量和同步至关重要。
-
专业音频制作:在专业音频制作环境中,aes67-sender 可用于实现多设备间的音频共享和同步,提高工作效率。
以下是一个Raspberry Pi 4与Focusrite Scarlett 2i2配合aes67-sender的使用示例:
pi@raspberrypi:~/aes67-sender $ node aes67 -a alsa --devices
Selected ALSA as audio api
Index, Name, # of Channels
1 'hw:Scarlett 2i2 USB,0' 2
根据设备列表,我们可以使用以下命令启动aes67-sender:
sudo node aes67 -a alsa -d 1 -n "Focusrite Scarlett 2i2"
此时,设备将出现在Dante Controller或类似软件中,并且音频接口的两个输入现在可以在AES67网络中使用。
项目特点
-
跨平台支持:aes67-sender 支持主流操作系统,满足不同用户的需求。
-
低延迟性能:项目在设计上考虑了低延迟的要求,尤其适用于需要实时音频同步的场合。
-
易于配置:通过简单的命令行参数,用户可以快速配置和启动AES67流。
-
灵活的网络接口配置:用户可以指定IPv4地址,以适应不同的网络环境。
总的来说,aes67-sender 是一个功能强大且易于使用的开源项目,能够帮助用户在AES67网络中实现音频设备的灵活接入,是音频网络传输和同步的理想解决方案。