ZHDA175 June   2026

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
    1. 1.1 主要亮点:
    2. 1.2 基本概念:
      1. 1.2.1 PipeWire 服务器
      2. 1.2.2 PipeWire 客户端
      3. 1.2.3 会话管理器
      4. 1.2.4 节点、端口和链接
    3. 1.3 PipeWire 主要组件
  5. Linux 音频栈
  6. 通过 Yocto 构建支持 PipeWire 的 SDK 映像
    1. 3.1 在主机上运行 Yocto 构版建的步骤
      1. 3.1.1 必要条件(一次性设置)
    2. 3.2 克隆 oe 层设置
    3. 3.3 下载并应用 PipeWire 补丁
    4. 3.4 构建 PipeWire 映像
  7. 在 Sitara 器件上设置 PipeWire
    1. 4.1 硬件
      1. 4.1.1 SK-AM62B-P1
      2. 4.1.2 TMDS62LEVM
      3. 4.1.3 AUDIO-AM62D-EVM
    2. 4.2 配置 EVM 引导模式
      1. 4.2.1 SK-AM62B-P1
      2. 4.2.2 TMDS62LEVM
      3. 4.2.3 AUDIO-AM62D-EVM
    3. 4.3 UART 控制台设置
    4. 4.4 刷写 SD 卡映像
    5. 4.5 使用 SD 卡引导 EVM
  8. 使用 PipeWire
    1. 5.1 检查服务状态
    2. 5.2 启用 PipeWire 和 Wireplumber
    3. 5.3 启动 PipeWire 和 WirePlumber
    4. 5.4 常规 PipeWire 命令
      1. 5.4.1 列出 PipeWire 服务器中当前的所有对象
      2. 5.4.2 仅列出节点
      3. 5.4.3 检查特定对象
    5. 5.5 播放和录制立体声音频
  9. 配置
    1. 6.1 接收端和源端配置
    2. 6.2 WirePlumber 配置
  10. 性能基准测试
    1. 7.1 延迟
    2. 7.2 CPU 和内存使用情况
    3. 7.3 重新采样后的 CPU 和内存使用情况
    4. 7.4 观察结果
  11. 总结
  12. 参考资料
  13. 10重要声明和免责声明

Linux 音频栈

 Linux 音频栈图 2-1 Linux 音频栈
  • 应用程序(媒体播放器、浏览器、基于 GStreamer 的工具等)会生成音频流并通过本机 PipeWire API 或其他系统(Jack、PulseAudio、ALSA)的兼容层进行通信。
  • PipeWire 守护程序会接收这些音频流并构造一个处理图形,以同时处理来自多个来源的音频混合、路由和调度。
  • 会话管理器 (WirePlumber) 会应用策略决策,包括设备选择、流路由规则以及应用程序和硬件端点之间的自动连接管理。
  • SPA (Simple Plugin API) 插件提供硬件抽象。ALSA 插件专门与内核的 ALSA 子系统连接,以访问物理音频设备。
  • 内核驱动程序与实际硬件层(音频编解码器、声卡、I2S 总线、HDMI 音频接口)进行通信,以生成物理音频输出或采集输入。