LinHES Forums
http://forum.linhes.org/

r5a22: 5.1 spdif Divx sound with mplayer - how ?
http://forum.linhes.org/viewtopic.php?f=2&t=7509
Page 1 of 1

Author:  Warped [ Sat Dec 24, 2005 2:28 pm ]
Post subject:  r5a22: 5.1 spdif Divx sound with mplayer - how ?

Hi *

Maybe somebody help me with following issue:

I have DIVX file with 5.1 sound, and I want to play it via MPLAYER.

My MythTV (R5A22) system is connected via digital SPDIF connection to my Home theater aplituner.

Launching mplayer with following parameters:

#mplayer -channels 6 -ac hwac3,a52, "ACDC - Stiff Upper Lip.avi"

gives only 2.0 sound.
Here below is output from console:

--------------------------
Setting up LIRC support...
mplayer: could not open config files /root/.lircrc and /etc/lircrc
mplayer: No such file or directory
Failed to read LIRC config file ~/.lircrc.
You will not be able to use your remote control.
Playing ACDC - Stiff Upper Lip.avi.
AVI file format detected.
VIDEO: [DX50] 640x352 24bpp 25.000 fps 1134.4 kbps (138.5 kbyte/s)
==========================================================================
Forced audio codec: hwac3
Opening audio decoder: [hwac3] AC3/DTS pass-through SP/DIF
No accelerated IMDCT transform found
hwac3: switched to AC3, 448000 bps, 48000 Hz
AUDIO: 48000 Hz, 2 ch, 16 bit (0x400), ratio: 56000->192000 (448.0 kbit)
Selected audio codec: [hwac3] afm:hwac3 (AC3 through SPDIF)
==========================================================================


It seems like I have "AC3/DTS pass-through SP/DIF", but why there is
"AUDIO: 48000 Hz, 2 ch, 16 bit (0x400), ratio: 56000->192000 (448.0 kbit)" ?

This file in XINE plays nicely 6-ch sound, so probably it isn't problem of audiostream.

How can I overcome this problem ?

milion thanx in advance

Author:  willem [ Mon Dec 26, 2005 9:01 am ]
Post subject: 

How does this work?:

Code:
mplayer -ao alsa -ac hwac3, "ACDC - Stiff Upper Lip.avi"


You can check whether mplayer has alsa support by trying:

Code:
mplayer -ao help


first.

Author:  Warped [ Mon Dec 26, 2005 1:49 pm ]
Post subject:  Here are logs...

Willem,

Thanx for trying help me...nobody else answer to this question on few others forums :-(
I spend literally days to trying solve this issue (many hours googilng & searching various forums)
System is: EPIA M10k, KnoppMythR5A22.
Used AVI file plays nicely DD5.1 under xine (unfortunately xine CPU consumption is about 50% vs 25% in mplayer. Also I have problem with AVI subtitles in xine)

Pls find below mplayer logs for different cmd line option used:


1. "mplayer -channels 6 -ao alsa -ac hwac3, file.avi"
Result: avi played 2 times too fast, amplituner connected to SPDIF shows no audio
Here is log:
------------------------------------------------------------------------------------------------------------------------------------
MPlayer 1.0pre6-3.3.5 (C) 2000-2004 MPlayer Team
CPU: IDT/Centaur/VIA C3 Nehemiah (Family: 6, Stepping: 5)
Detected cache-line size is 32 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection.
Setting up LIRC support...
Playing Motorhead - Stage Fright 05'.avi.
AVI file format detected.
VIDEO: [XVID] 592x320 12bpp 25.000 fps 1719.7 kbps (209.9 kbyte/s)
Clip info:
Software: VirtualDubMod 1.5.10.1 (build 2439/release)
==========================================================================
Forced audio codec: hwac3
Opening audio decoder: [hwac3] AC3/DTS pass-through SP/DIF
hwac3: switched to AC3, 448000 bps, 48000 Hz
AUDIO: 48000 Hz, 2 ch, 16 bit (0x400), ratio: 56000->192000 (448.0 kbit)
Selected audio codec: [hwac3] afm:hwac3 (AC3 through SPDIF)
==========================================================================
vo: X11 running at 1024x768 with depth 24 and 32 bpp (":0.0" => local display)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/6ch/8bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, big endian AC3
AF_pre: 48000Hz 2ch AC3
alsa-init: soundcard set to surround51
alsa: 48000 Hz/6 channels/12 bpf/61440 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 6ch AC3 (1 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/6ch/8bit...
Starting playback...
VDec: vo config request - 592 x 320 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.85:1 - prescaling to correct movie aspect.
VO: [xv] 592x320 => 592x320 Planar YV12
A: 0.3 V: 0.0 A-V: 0.320 ct: 0.000 1/ 1 ??% ??% ??,?% 1 0
------------------------------------------------------------------------------------------------------------------------------------


2. "mplayer -channels 6 -ac hwac3, file.avi"
Result: avi played 2 times too fast, amplituner connected to SPDIF shows 2.0 PCM 48kHz, loud trash audio
Here is log:
---------------------------------------------------------------------------------------------------------------------------------
..................
Software: VirtualDubMod 1.5.10.1 (build 2439/release)
==========================================================================
Forced audio codec: hwac3
Opening audio decoder: [hwac3] AC3/DTS pass-through SP/DIF
hwac3: switched to AC3, 448000 bps, 48000 Hz
AUDIO: 48000 Hz, 2 ch, 16 bit (0x400), ratio: 56000->192000 (448.0 kbit)
Selected audio codec: [hwac3] afm:hwac3 (AC3 through SPDIF)
==========================================================================
vo: X11 running at 1024x768 with depth 24 and 32 bpp (":0.0" => local display)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/6ch/8bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, big endian AC3
AF_pre: 48000Hz 2ch AC3
AO: [oss] 48000Hz 6ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/6ch/16bit...
Starting playback...
VDec: vo config request - 592 x 320 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.85:1 - prescaling to correct movie aspect.
VO: [xv] 592x320 => 592x320 Planar YV12
A: 0.4 V: 0.0 A-V: 0.352 ct: 0.000 1/ 1 ??% ??% ??,?% 1 0 ---
---------------------------------------------------------------------------------------------------------------------------------


3. "mplayer -channels 6 -ao alsa file.avi"
Result: avi played OK, amplituner connected to SPDIF shows 2.0 PCM 48kHz, audio is OK
Here is log:
---------------------------------------------------------------------------------------------------------------------------------
....................
Software: VirtualDubMod 1.5.10.1 (build 2439/release)
==========================================================================
Opening audio decoder: [liba52] AC3 decoding with liba52
AC3: 5.1 (3f+2r+lfe) 48000 Hz 448.0 kbit/s
AUDIO: 48000 Hz, 6 ch, 16 bit (0x10), ratio: 56000->576000 (448.0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
==========================================================================
vo: X11 running at 1024x768 with depth 24 and 32 bpp (":0.0" => local display)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/6ch/16bit -> 48000Hz/6ch/16bit...
AF_pre: af format: 2 bps, 6 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 6ch Signed 16-bit (Little-Endian)
alsa-init: soundcard set to surround51
alsa: 48000 Hz/6 channels/12 bpf/61440 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 6ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 48000Hz/6ch/16bit -> 48000Hz/6ch/16bit...
Starting playback...
VDec: vo config request - 592 x 320 (preferred csp: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.85:1 - prescaling to correct movie aspect.
VO: [xv] 592x320 => 592x320 Planar YV12
A: 0.1 V: 0.0 A-V: 0.107 ct: 0.000 1/ 1 ??% ??% ??,?% 0 0
---------------------------------------------------------------------------------------------------------------------------------

So now I'm confused:
"mplayer -channels 6 -ao alsa -ac hwac3, file.avi" gives "Opening audio decoder: [hwac3] AC3/DTS pass-through SP/DIF" but
"AUDIO: 48000 Hz, 2 ch, 16 bit (0x400), ratio: 56000->192000 (448.0 kbit)"
Later in log I see:
"................
Checking audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/6ch/8bit...
AF_pre: af format: 2 bps, 2 ch, 48000 hz, big endian AC3
AF_pre: 48000Hz 2ch AC3
alsa-init: soundcard set to surround51
alsa: 48000 Hz/6 channels/12 bpf/61440 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 6ch AC3 (1 bps)
Building audio filter chain for 48000Hz/2ch/16bit -> 48000Hz/6ch/8bit...
................."
So what is current audio mode here (in mplayer and alsa): 6ch or 2ch ?

Oh the other hand, launching "mplayer -channels 6 -ao alsa file.avi" I get:
".....
Opening audio decoder: [liba52] AC3 decoding with liba52
AC3: 5.1 (3f+2r+lfe) 48000 Hz 448.0 kbit/s
AUDIO: 48000 Hz, 6 ch, 16 bit (0x10), ratio: 56000->576000 (448.0 kbit)
Selected audio codec: [a52] afm:liba52 (AC3-liba52)
...."
and later
".....
Checking audio filter chain for 48000Hz/6ch/16bit -> 48000Hz/6ch/16bit...
AF_pre: af format: 2 bps, 6 ch, 48000 hz, little endian signed int
AF_pre: 48000Hz 6ch Signed 16-bit (Little-Endian)
alsa-init: soundcard set to surround51
alsa: 48000 Hz/6 channels/12 bpf/61440 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 6ch Signed 16-bit (Little-Endian) (2 bps)
Building audio filter chain for 48000Hz/6ch/16bit -> 48000Hz/6ch/16bit...
....."
It looks like we have 6ch in alsa, but sound is DD2.0 - why ?

milion thx in advance

Author:  willem [ Tue Dec 27, 2005 6:26 am ]
Post subject: 

What does this command show for output?:

Code:
aplay -l


This should list available ALSA audio devices. On an EPIA system this could look like:

Code:
**** List of PLAYBACK Hardware Devices ****
card 0: V8235 [VIA 8235], device 0: VIA 8235 [VIA 8235]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 0: V8235 [VIA 8235], device 1: VIA 8235 [VIA 8235]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


I have never tried SPDIF out on an EPIA, but with a Soundblaster Live! 1024 the last device of four was doing proper AC3 pass through. Next thing to try with mplayer would then be:

Code:
mplayer -ao alsa:hw:0,3 -ac hwac3, "ACDC - Stiff Upper Lip.avi"


or perhaps:

Code:
mplayer -ao alsa:hw:1,0 -ac hwac3, "ACDC - Stiff Upper Lip.avi"


based on the above aplay output. Just try various combinations.

That's about all the ideas I have on this one... Good luck.

Author:  Warped [ Tue Dec 27, 2005 2:46 pm ]
Post subject: 

willem wrote:
What does this command show for output?:

Code:
aplay -l


This should list available ALSA audio devices. On an EPIA system this could look like:

Code:
**** List of PLAYBACK Hardware Devices ****
card 0: V8235 [VIA 8235], device 0: VIA 8235 [VIA 8235]
  Subdevices: 4/4
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
card 0: V8235 [VIA 8235], device 1: VIA 8235 [VIA 8235]
  Subdevices: 1/1
  Subdevice #0: subdevice #0


I have never tried SPDIF out on an EPIA, but with a Soundblaster Live! 1024 the last device of four was doing proper AC3 pass through. Next thing to try with mplayer would then be:

Code:
mplayer -ao alsa:hw:0,3 -ac hwac3, "ACDC - Stiff Upper Lip.avi"


or perhaps:

Code:
mplayer -ao alsa:hw:1,0 -ac hwac3, "ACDC - Stiff Upper Lip.avi"


based on the above aplay output. Just try various combinations.

That's about all the ideas I have on this one... Good luck.


Willem,

aplay -l shows:

card 0: V8235 [VIA 8235], device 0: VIA 8235 [VIA 8235]
Subdevices: 4/4
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
card 0: V8235 [VIA 8235], device 1: VIA 8235 [VIA 8235]
Subdevices: 1/1
Subdevice #0: subdevice #0

I try any combination of hw=0,0...0,3 and 1,0
For all:
- AVI is played 2-3 times too fast
-amplituner shows no sound
-I have loud trash in speakers

In fact, giving -ac hwac3 always cause playing too fast (regardless any other options). This leeds me to suspictions about clocking...
What is Your opinion ?

Author:  willem [ Thu Dec 29, 2005 3:13 am ]
Post subject: 

Did you try hw=0,0 or hw:0,0 ? Alternatively hw:default or hw:spdif can be tried. The mplayer log at stdout might give clues on which settings work.

When it plays too fast you probably have a 44100 bitrate played at 48000. I had similar issues with a Audigy card once and eventually replaced it by a Live! 1024 card I had lying around.

EPIA systems have less space for PCI cards, but it is worth considering. If you don't have the space, then USB soundcards might be an option. For me after trying so long I decided to change hardware instead of keep trying.

Page 1 of 1 All times are UTC - 6 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/