マルチチャンネル(ゲーム)オーディオをAC3(またはDTS)でエンコードし、HDMI経由で送信する必要があります(詳細は退屈にしたくありません)。私は次のようなさまざまなアプローチを試しました。https://help.ubuntu.com/community/DigitalAC-3Pulseaudioしかし、常に要件を満たしていません。
私はこれを私のものに追加しました/etc/asound.conf
:
pcm.a52 {
@args [CARD]
@args.CARD {
type string
}
type rate
slave {
pcm {
type a52
bitrate 448
channels 6
card $CARD
}
rate 48000 #required somehow, otherwise nothing happens in PulseAudio
}
}
マイシステムにAC3仮想デバイス(?)を追加します。たとえば、次のようになります。
$ aplay -L
…
a52:CARD=NVidia
HDA NVidia
Plugin to convert multichannel stream to A52 (AC3) bitstream
…
/usr/share/pulseaudio/alsa-mixer/profile-sets/ac3.conf
次に、AC3オーディオをHDMIポートにマッピングするために、新しいpulseaudioプロファイルに出力プロファイルを追加してみました。たとえば、次のようになります。
[Mapping hdmi-ac3-surround]
description = Digital Surround 5.1 (HDMI/AC3)
device-strings = a52:%f
paths-output = hdmi-output-0
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe
priority = 6
direction = output
ところがプロフィールも開けず、pavucontrol
どうすればいいのかわかりませんね。これが私が付いているところです。そのために私がインストールしたパッケージ:私が知っている限りこれalsa-plugins-freeworld-a52
でffmpeg-libs
十分です。
答え1
私が知っている限り、短い答えはあなたがそうではないということです。これは矛盾する要求の産物です。
HDMIは圧縮されていないPCMデータのみをサポートし、いかなる種類のパススルーも実行できません。ただし、多数のチャンネル(16、32など)をサポートしているため、5.1または7.1ストリームを配信できます。テレビ「低速」toslinkには2つ以上の圧縮ストリーミングチャネルが必要で、エンコーダ付きのテレビがないため、光出力はサポートされていません。