如何捕获 RPi 的 hdmi 音频输出并将其传输到 LAN

如何捕获 RPi 的 hdmi 音频输出并将其传输到 LAN

我有一个 RPi,它正在使用 omxplayer 运行视频并输出到我的电视。 HDMI 视频和音频输出工作得很好,但我还想仅将音频流式传输到我的网络(通过 RTP 或其他方式),这样我就可以连接不同房间中的其他设备并继续收听 - 就像 LAN 无线电广播一样。我尝试过使用 avconv 和 ffmpeg,但仅在将音频发送到电视之前成功捕获音频(在 $DISPLAY=0 上)。

我目前正在研究复制音频并捕获就是这样,但到目前为止只提供了无声音频文件。

我可以在将音频发送到 HDMI 输出之前使用 avconv / ffmpeg 录制音频,但无法使用重复的音频来录制任何内容。

我成功地通过 RTP 流式传输了以前保存的音频文件,但它对我来说有点太不稳定了 - 音频每隔 10 秒左右就会丢失一次。这是 RPi 3B+ 硬件的限制吗?理想情况下,我希望以尽可能小的延迟传输 HDMI 音频。将 HDMI 音频保存为大文件不一定是我的目标,因为我计划让服务长时间运行。

另外,在点击上面的链接时,我不完全确定在 asound.conf 中放置什么作为设备名称

pcm.output {
    type hw
    card <Your Output Device Name>

卡 0?或者 HDMI 设备?

答案1

您需要 Pulseaudio 通过 LAN 传输音频

您需要安装 Pulseaudio 并且:

用于声级和路由音频流的 Pulseaudio 音量控制 (pavucontrol)

用于流式传输的 Pulseaudio 首选项 (paprefs) 用于
配置 RTP 发送器或接收器的“多播/RTP”选项
卡 用于在多个设备上播放音频的“同步输出”选项卡

与音频源相比,LAN 流音频可能会延迟 1 或 2 秒,因此,如果您在两个房间之间移动时同时听到两个不同步的音频流,则音频效果不佳

相关内容