在14.04为Kodi启用7.1音频passthru

硬件:Gigabyte GA-A75m-d2主板使用集成显卡和声卡,应该能够传递7.1音频。

基本上,我只是在寻找一种方法来为Ubuntu 14.04中的Kodi或Plex家庭影院启用直通音频。 我想将无损音频传递给我的AVR进行解码 – 我不需要我的HTPC来解码任何东西。

我找到的教程或者walk-thrus都没有用过,而且我将完全放弃Ubuntu和Linux。 到目前为止,我已经尝试了一下,我正在进行第6次新的Ubuntu安装。

要从运行PulseAudio和Kodi的Ubuntu启用音频直通,我们需要进行几项设置:

使用Pulse Audio

  • 为我们的音频输出设备启用passthrough
    这是使用pavucontrol完成的 安装pavucontrol 我们可以通过HDMI或S / PDIF在数字输出的高级设置中启用passtrough:

    在此处输入图像描述
    在此处输入图像描述

    用于音频设备的配置文件在“ 配置”选项卡中定义。 对于passthough模式,我们需要将pulseaudio设置为2.0通道。

  • 从Kodi系统音频输出设置启用音频直通:

    • 在输出配置中选择数字输出设备(HDMI或S / PDIF)
    • 勾选启用直通
    • 选择要使用的输出设备,以防有多个输出设备
    • 勾选我们的AVR能够解码的编码

    在此处输入图像描述

请注意,S / PDIF只能提供5.1。 音频。 对于7.1。 音频我们需要HDMI连接。

有关使用Pulse Audio进行直通和深入了解其他提示的进一步限制,请阅读Kodi团队的精彩教程 。 在那里,您还可以找到一个非常有用的表格,可以在各种条件下进行设置。

使用ALSA

可悲的是,Pulse Audio目前不支持DTS-HD或TrueHD音频的直通。 为了实现这一点,我们因此无法将Pulse Audio用作Kodi的声音服务器。

  • 我们需要用ALSA启动Kodi( AE_SINK=ALSA kodi )。
  • 为避免使用Pulse Audio产生不必要的副作用,建议在启动Kodi之前将其完全取出或使用pauspender将其暂停。

  • 两者都可以通过Kodi的启动脚本实现:

     #! /bin/bash pasuspender AE_SINK=ALSA kodi 
  • 如果我们总是希望用ALSA启动Kodi并且总是挂起Pulse Audio,只需链接到我们的kodi.desktop文件中的这个脚本,给出其Exec行中(可执行)脚本的完整路径。

  • 然后,passthrough设备将指向ALSA设备:

    在此处输入图像描述

感谢小费,我一直使用ALSA,(删除了pulseaudio),但这是有问题的,因为我在Kodi之外没有声音。 我在运行脉冲音频时尝试使用ALSA接收器。 这有效,但它对我的设置有副作用,我无法弄清楚。 我正在运行Ubuntu 14.04 LTS。 它连接到支持DTS ma等的AVR。

如果我从终端运行AE_SINK=ALSA kodi或在.desktop文件中使用它,它可以很好地将dts-ma推出到AVR,即使脉冲音频是默认的。 这很好:)

我面临的问题是与xautomationlirc一起使用我的设置有点复杂,因为我使用和声控制一切。

这非常聪明,因为它使它成为妻子certificate:)她无法点击一个按钮,电视,AVR,PC,扬声器都在正确的频道上启动。 她可以控制一台完全成熟的PC,就像智能​​电视一样。

SIMEREC pcs2安装在媒体中心,通过hw开关控制开/关。 但是从Ubuntu中它使用xautomationlirc来实现。

这就添加了一些function来编写所有内容,例如启动Kodi,关闭Kodi,系统中的导航。 因为这是它自己的服务,如果有什么东西冻结或崩溃,只需按一下按钮,Kodi就会强行关闭并重新启动。 您也可以强制重启桌面环境,但这很少是一个问题。 我从LTS 12.04开始使用此设置

我遇到的副作用是当我在.desktop文件上设置参数AE_SINK=ALSA kodi时,或者我在启动脚本中使用xautomation来执行它。 这使得irexec崩溃。 当我尝试重新启动irexec -d ,服务无法启动。 直到我删除AE_SINK=ALSA

不工作:

 #!/bin/bash killall -9 kodi.bin AE_SINK=ALSA kodi & 

工作:

 #!/bin/bash killall -9 kodi.bin kodi &