domingo, 25 de março de 2012

Saída de audio HDMI no Mplayer

E ai pessoal, tudo certo?

Você que possui um dispositivo com saída HDMI e curte utilizar o excelente mplayer pela linha de comando já deve ter se perguntado: Como direciono a saída de audio pela HDMI?

Simples!

METODO 1 (recomendado)

1. Execute o comando
$ aplay -L


default
    Default
sysdefault:CARD=SB
    HDA ATI SB, ALC272X Analog
    Default Audio Device
front:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    Front speakers
surround40:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
    HDA ATI SB, ALC272X Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=HDMI,DEV=0
    HDA ATI HDMI, HDMI 0
    HDMI Audio Output

Observe acima a saída hdmi:CARD=HDMI,DEV=0

O primeiro campo hdmi significa o nome (ou alias) dado pelo alsa ao dispositivo. Usaremos esse nome.

2. Execute o mplayer passando os parametros
$ mplayer -ao alsa:device=hdmi arquivo


METODO 2


1. Execute o comando
$ aplay -l

**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC272X Analog [ALC272X Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Observe acima a saída card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]

Precisaremos do campo card 1 e device 3

2. Execute o mplayer passando os parametros
$ mplayer -ao alsa:device=hw=1.3 arquivo

FACILITE SUA VIDA CRIANDO UM SCRIPT

1. Crie o arquivo com o nome desejado. Exemplo "mhdmi"
# touch /usr/local/bin/mhdmi

2. Insira o conteúdo abaixo
#!/bin/bash
mplayer -ao alsa:device=hdmi "$@"

ou

#!/bin/bash
mplayer -ao alsa:device=hw=1.3 "$@"

3. Salve o arquivo e ative a permissão de execução
# chmod +x /usr/local/bin/mhdmi

DICA PARA A RADEON

Vi num forum (infelizmente não me lembro onde) uma dica para as pessoas que possuem placas RADEON (AMD/ATI), e não conseguem de forma alguma executar o som pela saída hdmi.

Acrescente a opção radeon.audio=1 nos parametros do kernel

No caso do grub2, edite o arquivo /etc/default/grub, acrescente a opção acima em GRUB_CMDLINE_LINUX e confirme a alteração executando o comando

# grub2-mkconfig -o /boot/grub2/grub.cfg

Espero ter ajudado!

[ ] ' s
Follow Me on Twitter