Jump to content


Photo

Need Opensource mp4a: MPEG-4 Audio decoder


  • Please log in to reply
20 replies to this topic

#1 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 25 February 2008 - 06:02 PM

Greetings, got a hold of some H264 vids that that have the mp4a: MPEG-4 Audio codec. I know this because I g-spotted them. When I play them I get no sound. Great vid but no sound. I do have the newest version of CoreAAC installed but apparently that's not the proper decoder. When I look under MPEG-4 audio option I see something called Gabest Audio Decoder. I google this decoder but cannot find it. The ZP format guide also does not mention the MPEG-4 audio format. I tried setting AC filter as my MPEG4 decoder but no workie. I get proper audio using non directshow players such as mplayer plus also plays fine in KM Player due to its internal MPEG4 audio decoder. Since ZP does not have its own internal MPEG4 decoder, I need to find a decoder for this audio format and register it.

Pls help me out here. Where can I download this mythical Gabest Audio Decoder?

Thanks

#2 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 25 February 2008 - 06:47 PM

Before you bother installing the Gabest MPA decoder (it's the Gabest Audio decoder) see if the file works in Media Player Classic first.

http://sourceforge.n...ckage_id=245753

If so you can grab the codec here.

http://sourceforge.n...lease_id=541148

CoreAAC should work for mp4a though. ffdshow should be an option as well. If it wont work in any of the three it could be a variant that doesn't have a working DirectShow decoder. The lossless variant is a good example of that.

It could also be your splitter. It might not support the audio format and is not exposing the audio pin so even if you do have a working decoder it wont be able to play. What splitter are you using? What file type is it? .MP4? You can check the file in GraphEdit and see if the audio pin is being exposed.

http://www.videohelp...tools/GraphEdit

If not you can try the Gabest MP4 splitter. It's part of Media Player Classic and you can find it on the same page as the MPA decoder.

#3 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 25 February 2008 - 07:35 PM

Thanks for your reply, general. The vid is in a mov container and haali media splitter picks it up immediately. Doesn't matter what mov splitter I select under the mov splitter options (Gabest, Nero or Haali) under smart play, Haali automatically does the splitting. Registered the Gabest Audio Decoder but it caused ZP to crash immediately when trying to play the vid so deregistered it. Used the graphedit and there is no audio pin shown at all coming out of the vid. Guess there is no directshow codec for this audio format. Thank god there are non directshow players out there LOL.

#4 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 25 February 2008 - 07:55 PM

Well yea there are a handful of proprietary apple audio formats found in MOV files that are unplayable with DirectShow players right now. Most of them are PCM audio though and gspot shouldn't have seen them as mp4a. Maybe it's Apple Lossless Audio Codec. I know for sure VLC and mplayer can handle ALAC audio but no working DirectShow codecs currently exist. ffdshow can easily support it but as I understand it they wont enable support until a working splitter is available. That is if thats what the audio is. If you can provide a sample file I can check for sure what audio format it is.

You never said if it worked in Media Player Classic or not. I assume it wont now though.

#5 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 25 February 2008 - 08:57 PM

You never said if it worked in Media Player Classic or not. I assume it wont now though.


Oh yah, forgot to try it in MPC. Well, wouldn't you know it. Vid & Audio are fine in MPC. So thinking that Haali Media Splitter was the culprit, I uninstalled it and re-registered the Gabest Audio Decoder. Should work in ZP now right? Well, now my Gabest MP4 splitter is doing it's thing (while before Haali Splitter hogged the file) and properly splitting the audio per graphedit but playing the vid in ZP or in Gspot causes the vid to appear frozen and then crashes about 4 seconds later. This frozen image then crash happens while trying to play the vid in either Gspot or ZP. I can FF/REW the vid but the pic always stays stationary and then does it's crash thing. And it happens in ZP with either ffdshow or CoreAVC selected as my H264 codec (though now since Haali Splitter is unistalled, CoreAVC is inop). Also happens with any video renderer. I'm using ffdshow tryouts 4 and Gabest MP4 Splitter 1.0.0.2 (sourceforge lists this file as 1.0.0.3 but it's properties show it as 1.0.0.2). I'm kinda at a loss as what to try next. As soon as I deregister Gabest Audio Decoder, the vid plays fine (though with no audio) using Gabest MP4 splitter and ffdshow as the vid decoder. My ZP 5.02 Pro is not liking the Gabest Audio Decoder one bit LOL. When using Haali Media Splitter it won't even connect and when using Gabest MP4 splitter it causes a stationary picture. Perhaps a certain subtype needs to be added to the Gabest Audio Decoder to play these vids? I'm beyond my knowledge now.

#6 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 25 February 2008 - 09:42 PM

I personally would not recommend Haali for anything but MKV. You can install it again but this time don't check any of the AVI, OGM, MP4 support options. That is if you give a damn about MKV. If not then don't bother.

The file yer trying to play seems pretty common now. Get in ffdshow audio properties and go in codecs and see if AAC is enabled. It should be libfaad. Uninstall the Gabest MPA decoder. Theres nothing the Gabest MPA decoder can play that you can't use ffdshow for. You need the Gabest MP4 splitter installed. See how it plays now. Check it with both CoreAVC and ffdshow.

It would be a good idea to check Zoom Player both with and without the smart play option enabled. Enable the show graph creation errors option as well. Thats how we will find out if it's a new subtype that needs to be added or if something else is getting in the way.

#7 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 25 February 2008 - 11:12 PM

Already had done all you suggested with no luck. The same splitter (MP4 Splitter) & same vid codec (ffdshow) play the file in Smart Play or non-Smart Play. Actually after I deregistered the Gabest Audio Decoder and I tried graphedit again, it came back with an error saying that one of the streams is in an unsupported format. So it seems that the Gabest Audio Decoder does have something to do with this audio format but still can't play it properly as I didn't get that graphedit error message when the Gabest Audio Decoder was still registered. Whatever this audio stream is, ffdshow tryouts 4 can't play it either and I tried messing around (enabled/disabled) with all its audio codecs, including AAC.

Don't know how to enable the "show graph creation errors option" you mentioned but did take a look at the graph info ZP provides and discovered this error on one of the inputs to the MP4 splitter and on the output pin of the vid itself:

Major Type: Stream - Sub Type: UnKnown {08E22ADA-B715-45ED-9D20-7B87750301D4} Format: Unknown

So this unknown audio stream would seem to be culprit... am I correct in thinking this? Guess it just needs to be added somehow?

#8 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 26 February 2008 - 12:24 AM

The show graph errors option is in settings and blacklists in the smart play options.

I can't find what that GUID is but many formats will say unknown like that with no problems. Lots of sites, mostly Russian have tons and tons of posts about that GUID and errors though. A few appear to make reference to ALAC but I can not read Russian.

At this point a sample file would be required if possible. No links for illegal or adult content on the forums though please. PM me. I hope it's not all huge.

#9 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 26 February 2008 - 05:44 AM

Ah, I see the show graph option now & enabled it. This is what it tells me:

Could not find a suitable Decoder for "[Source File: Customized Graph].Audio Out"

SubTypes:
{6134706D-0000-0010-8000-00AA00389B71}

Went so far as to install the latest 3ivx audio codec too but no love. Still can't get any audio though it plays fine in MPC. Does providing the subtype to you help any? I did a google for it and did find a very old thread here in this forum about it though I doubt that info is relevant today since the vid does play in MPC without any probs. If the subtype does not help, I guess the next step is upload the smallest of the vids which is about 150MB. Is there a way to split it into a smaller piece keeping the audio stream format intact?

#10 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 26 February 2008 - 01:16 PM

That subtype is AAC audio with the "mp4a" FourCC. It's already in the AAC profile. It's playable with the Gabest MPA decoder and ffdshow. It should play with CoreAAC as well but I haven't used CoreAAC in several years.

You can use a program like WinZIP, WinRAR or 7zip to create split archives. Use the "store" or equivalent compression level to save yourself the time cuz it won't compress by more then a few KB.

If you split it up into 50MB chunks you can put it up on http://filebeam.com/

#11 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 27 February 2008 - 12:18 AM

Okay, got the file uploaded and pm'd you the link, general. Thanks for checking this file out.

#12 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 27 February 2008 - 02:13 AM

No idea whats wrong with it. It seems Media Player Classic is playing it with the QuickTime Alternative framework. I have it installed and I assume you do as well. It can play just fine in Firefox using the QuickTime Alternative browser plugin. The Gabest MP4 splitter is able to see the audio and exposes the pin. It's FourCC mp4a and all the audio conversion programs I have tried pick it up just fine as simple 2 channel AAC.

I tried running it though a few programs that mux/demux it into different container formats and all failed on the audio and a few said there are errors with the audio tracks header.

Thats about all I can do. I don't think you will be able to play that file in Zoom Player unless you can figure out whats wrong with the header and correct it.

#13 Mrkazador

Mrkazador

    Adept

  • Members
  • PipPipPip
  • 194 posts

Posted 27 February 2008 - 02:29 AM

Can you pm me the link, I'd like to give it a try.

#14 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 27 February 2008 - 02:34 AM

Alright I sent the link.

#15 Mrkazador

Mrkazador

    Adept

  • Members
  • PipPipPip
  • 194 posts

Posted 27 February 2008 - 03:17 AM

Don't know what is wrong. I did try to re/demux but the audio will not BUDGE!

#16 bkm

bkm

    Adept

  • Members
  • PipPipPip
  • 174 posts

Posted 27 February 2008 - 04:06 AM

Thanks for looking into this, fellas. All the H264 HDV mov files from that site I got the vid from have the same audio prob, not just the one you tested. Strange, eh? Now that you mention quicktime alternative, I went ahead and enabled it (normally use ffdshow to decode mov's) and the vid played fine but the cpu load was astronomical so this can't be a permanent viable solution for me. Perhaps the problem will repair itself once a new version of ffdshow or coreAAC comes out. Are there any other AAC directshow decoders I can try? 3ivx didn't work either. Thanks again. bkm

#17 bLight

bLight

    Lead Developer

  • Admin
  • PipPipPipPipPip
  • 9499 posts

Posted 27 February 2008 - 01:47 PM

bkm:
FFDShow has an AAC decoder (downloadable off zoom player's install center).

More info and other aac decoders here:
http://www.inmatrix....rmats/aac.shtml

Haali does tend not to recognize some MOV formats, even if there are decoders for them. Make sure you use the latest version of haali.

Also, haali is a combined source/splitter filter, so if you want to use gabest's filter, you have to modify the "quicktime" profile (adv. options / playback / smart play / source filters -> quicktime). You need to switch haali's for "Standard File Source" and then the other splitter (in the splitter column) can kick in.

#18 generalleoff

generalleoff

    Moderator

  • Members
  • PipPipPipPipPip
  • 1210 posts

Posted 27 February 2008 - 04:16 PM

I tried it with Haali and the Gabest MP4 splitter combined with CoreAAC, ffdshow, and Gabest MPA decoder. Under no combination of the 5 does it work.

The only splitter I did not try was the ndparser from Nero Digital. It tends to work on some formats that others fail on but it's not the most recommended splitter in the world. It used to be installed with QuickTime Alternative but it is not anymore.

#19 Mrkazador

Mrkazador

    Adept

  • Members
  • PipPipPip
  • 194 posts

Posted 27 February 2008 - 10:01 PM

Nero Digital Parser does not work. Same goes for File Source-> QuickTime Movie Parser, video is fine but audio does not connect to anything.

#20 Vaggelis

Vaggelis

    Newbie

  • Members
  • Pip
  • 1 posts

Posted 20 May 2008 - 03:51 PM

Short answer: Use Nero Digital Parser (NDParser.ax) from Nero v7.11.6.0. Haali Media Splitter currently fails too many (old and new) MOV files, MP4 Splitter is a bit obsolete, and Nero 8 introduced the same bugs all over again.

Details: Older versions of NDParser failed to recognize constants in place of bitrate, frequency, etc. For (a simplified) example, specifying "1" in place of sampling frequency in AAC headers is perfectly acceptable and means "48KHz". But older versions of NDParser would serve AAC (MP4A) audio with a frequency of 1Hz (which obviously no decoder would accept).

(Registered just to post this, since I had the same problem and could not find any solution on the net. Hope it helped someone :) )