ALSA - sem reprodução surround com o mplayer

3

Quando eu corro:

speaker-test -c6

... está tudo bem. Eu recebo a reprodução 5.1.

No entanto, quando eu corro:

mplayer -channels 6 "some video with 5.1 audio"

não há reproduções de áudio. Aqui está o que aparece no terminal:

~$ mplayer /var/remote/projects/playback/video/calibration/5.1video/10000_bc-tlr2_h480p.mov 
MPlayer UNKNOWN-4.4.5 (C) 2000-2012 MPlayer Team
Playing /var/remote/projects/playback/video/calibration/5.1video/10000_bc-tlr2_h480p.mov.
libavformat version 53.31.100 (internal)
libavformat file format detected.
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang eng
VIDEO:  [H264]  848x352  24bpp  23.976 fps  2132.4 kbps (260.3 kbyte/s)
Clip info:
 major_brand: qt  
 minor_version: 537199360
 compatible_brands: qt  
 creation_time: 2008-01-08 00:00:27
 comment: Encoded and delivered by apple.com/trailers/
 comment-eng: Encoded and delivered by apple.com/trailers/
 copyright: © 2008 Warner Bros. Pictures. All Rights Reserved
 copyright-eng: © 2008 Warner Bros. Pictures. All Rights Reserved
 title: 10,000 BC
 title-eng: 10,000 BC

Load subtitles in /var/remote/projects/playback/video/calibration/5.1video/

==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 53.60.100 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)

==========================================================================

Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 6 ch, s16le, 465.9 kbit/10.11% (ratio: 58238->576000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))

==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2209:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
[AO_ALSA] Playback open error: No such file or directory
AO: [pulse] 48000Hz 6ch s16le (2 bytes per sample)
Starting playback...
Unsupported PixelFormat 61
Unsupported PixelFormat 53
Unsupported PixelFormat 81
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 848x352 => 848x352 Planar YV12 
A:   0.1 V:   0.0 A-V:  0.084 ct:  0.004   0/  0 ??% ??% ??,?% 0 0 
[h264 @ 0xf0c760]Increasing reorder buffer to 1
A:  75.9 V:  75.9 A-V:  0.000 ct:  0.084   0/  0  4%  0%  0.5% 0 0 
Truncating packet of size 1173 to 500
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xe953e0]stream 1, offset 0x13dc10b: partial file
A:  76.3 V:  75.9 A-V:  0.395 ct:  0.084   0/  0  4%  0%  0.5% 5034 0 
[aac @ 0xf0c760]Input buffer exhausted before END element found
A:  76.3 V:  75.9 A-V:  0.396 ct:  0.084   0/  0  4%  0%  0.5% 5035 0 
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xe953e0]stream 1, offset 0x13dc5ab: partial file
A:  76.3 V:  75.9 A-V:  0.396 ct:  0.089   0/  0  4%  0%  0.5% 5035 0 


Exiting... (End of file)

O mais revelador é a linha:

[AO_ALSA] alsa-lib: pcm.c:2209:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51

Alguém sabe de uma maneira de simplesmente forçar o mplayer a usar o mesmo caminho de saída que é usado pelo utilitário de teste de alto-falante da alsa?

Outro conselho?

Para referência:

$ aplay -l

**** List of PLAYBACK Hardware Devices ****

card 0: DSP [Hammerfall DSP], device 0: RME Hammerfall DSP + Multiface [RME Hammerfall DSP + Multiface]

    Subdevices: 1/1
    Subdevice #0: subdevice #0
    
por Linux Noob 27.03.2013 / 15:04

3 respostas

1

Suas ideias me levaram ao caminho certo e encontrei um alias definido em hdsp.conf , que o mplayer gosta.

Para referência, é " hdsp_analog " e pode ser endereçado na linha de comando do mplayer:

mplayer -ao alsa:device=hdsp_analog -channels 6 /path/to/media.mov

Obrigado a todos.

    
por 30.03.2013 / 17:21
0

O erro Can't open audio device /dev/dsp: No such file or directory é pelo menos um problema para começar. Tente ver se o arquivo existe mesmo ...

$ ls -l /dev/dsp

Se isso não acontecer, pode haver um problema com as configurações do udev ( /etc/udev/* ) ou pode haver alguma outra coisa de driver / hardware do ALSA que impeça a criação do arquivo do dispositivo.

Acredito que aplay -l direciona a detecção de hardware (espaço do kernel), enquanto o mplayer está apenas tentando usar um dispositivo listado no diretório / dev (espaço do usuário).

Qual distro você está usando?

    
por 27.03.2013 / 15:36
0

O DSP Hammerfall não suporta a saída de apenas 6 canais, portanto, não há alias surround51 para ele.

Experimente mplayer -ao alsa:device=plughw=0 -channels 6 whatever.mov .

    
por 27.03.2013 / 16:16