Linux · Video

Surround over HDMI med mpv i Linux

16. mars 2021 · Ingen Kommentarer

Dette er en “note to self”, etter å ha søkt litt rundt på Internett etter løsning på hvordan å få surround-lyd over HDMI med mpv, og ikke bare stereo.

$ mpv \
  --audio-channels=5.1,stereo \
  --audio-spdif=ac3,eac3,dts-hd,truehd \
  --audio-device=alsa/hdmi:CARD=PCH,DEV=0 \
  audiofile.mp4

Fant tipset på https://forum.manjaro.org/t/how-do-i-enable-surround-sound-in-pulseaudio/56394.

Oppdatering 27.09.2023

Jeg støtte i dag på et tilfelle med en videofil med 6-kanals lyd, men hvor avspilling med kommandoen ovenfor ikke ga noen lyd over HDMI.

Uttrekk fra ffprobe gir meg:

Input #0, matroska,webm, from ...
  Metadata:
    encoder         : libebml v1.4.2 + libmatroska v1.6.4
[...]
    Stream #0:1(eng): Audio: eac3, 48000 Hz, 6 channels, fltp
    Metadata:
      title           : English
      BPS             : 384000
      DURATION        : 02:49:17
      NUMBER_OF_FRAMES: 317427
      NUMBER_OF_BYTES : 487567872


mpv-avspilling rapporterte 2-kanals lyd: AO: [alsa] 48000Hz stereo 2ch spdif-ac3.

MPV AD-parameter (Audio Decoder)

Jeg fikk surround-lyd med AD-parameteren (Audio Decoder):
--ad=spdif:ac3,spdif:dts,

mpv rapporterte AO: [alsa] 48000Hz 5.1 6ch s32 og receiveren min viste MULTI-CHANNEL lyd-input.

MPV AF-parameter (Audio Filters)

Jeg prøvde også med noen AF-parametere (Audio Filters):

  --af=lavcac3enc
  --af=scaletempo,lavcac3enc=yes:640:3

, men i begge tilfeller rapporterte mpv om AO: [alsa] 48000Hz stereo 2ch spdif-ac3, selv om receiveren min identifiserte det som Dolby Digital. Også i kombinasjon med --ad-parameteren. Jeg gjorde ingen test på om det faktisk ble ekte surround-lyd fra receiveren.

Kilder

Fant tipsene fra:
1) Does anyone has realtime ac3 or dts encoding running? (Archlinux)
2) New To MPV. Trouble with EAC3 6 channel audio. (Reddit)