PDA

View Full Version : "ACM failed to suggest a compatible PCM format"


JNavas
20th May 2005, 21:38
Input sources: XviD video with MP3 audio

I'm frameserving from AviSynth into TMPGEnc 3.0 XPress, and I want both video and audio so that I can use TMPGEnc 3.0 XPress for one-step conversion into DVD-compliant MPEG2 with AC-3 audio.

Problem: Using AVISource(), while AviSynth correctly handles some of these sources, with others I get the error "ACM failed to suggest a compatible PCM format". I can see no significant difference in GSpot between those that work and those that don't. I don't have this problem with DirectShowSource(), but I'd rather use AVISource.

I have essentially the same problem with VirtualDub: it can't find a suitable audio codec for the same files that produce the error in AVISource.

From GSpot:

Sample file that works:
Video Codec..: XviD
Video Bitrate: 1012 kb/s
Audio Codec..: 0x0055(MP3) ID'd as MPEG-1 Layer 3
Audio Bitrate: 124 kb/s (62/ch, stereo) VBR

Sample file that causes the error:
Video Codec..: XviD
Video Bitrate: 1016 kb/s
Audio Codec..: 0x0055(MP3) ID'd as MPEG-1 Layer 3
Audio Bitrate: 128 kb/s (64/ch, stereo) VBR LAME3.95

In both cases, GSpot shows the following three audio codecs:

--> Fraunhofer IIS MPEG Layer-3 Codec (advanced)
--> MPEG Layer-3 Decoder
Nero Digital Audio Decoder

Any thoughts or work-arounds? Thanks.

JNavas
21st May 2005, 01:16
More data, this time from AVIcodec, which thinks both audio streams are "supported":

Sample file that works:

aStreamsNb AudioCodec1 a1Name a1SuppByVFW a1Channels a1SamplesNb a1Sps a1AvgBPS a1Sec a1Size
1 55MPEG Layer-3 1 2 106527 48000 123 2556 39502980

Sample file that causes the error:

aStreamsNb AudioCodec1 a1Name a1SuppByVFW a1Channels a1SamplesNb a1Sps a1AvgBPS a1Sec a1Size
1 55MPEG Layer-3 1 2 106118 48000 128 2546 40736000

JNavas
21st May 2005, 01:32
More data, this time from VirtualDub, which doesn't thinks one of the audio streams can be decoded, even though it's flagged as 0055 (MP3):

Audio Stream WORKS
Sampling rate: 48000Hz
Channels: 2 (Stereo)
Sample precision: N/A
Compression: Fraunhofer IIS MPEG Layer-3 Codec
Layout: 163 chunks (0.03s preload)
Length: 39513600 samples (42:36.68)
Min/avg/max/total frame size: 288/376/576 (60K)
Data rate: 124 kbps (5.99% overhead)

Audio Stream CAUSES ERROR
Sampling rate: 48000Hz
Channels: 2 (Stereo)
Sample precision: N/A
Compression: Unknown (tag 0055)
Layout: 174 chunks (0.00s preload)
Length: 37604304 samples (39:10.26)
Min/avg/max/total frame size: 240/352/672 (60K)
Data rate: 128 kbps (6.38% overhead)

From this I'm guessing that the "Fraunhofer IIS MPEG Layer-3 Codec (advanced)" [Version 1.9 (Build 305), Copyright 1996-1999] is barfing on the audio stream in the problematic file when treated as VFW, although not for DirectShow.

Poutnik
21st May 2005, 08:39
Originally posted by JNavas
CAUSES ERRORB]
...
Compression: Unknown (tag 0055)
...

From this I'm guessing that the "Fraunhofer IIS MPEG Layer-3 Codec (advanced)" [Version 1.9 (Build 305), Copyright 1996-1999] is barfing on the audio stream in the problematic file when treated as VFW, although not for DirectShow.

I remember this unknown 0055 compression tag was created, if I produce AVI by VDUB, using Lame MP3 encoder ( as opposite to my usual Fraunhofer for suboptimal air capture audio quality).
Not sure, if this made trouble for my Avisynth or VDub later, but
player ( my favourite MV2Player ) worked well.

BTW, are you the same J(ohn) Navas as the one known in Pegasus Mail forums ?

JNavas
24th May 2005, 09:38
Originally posted by Poutnik
I remember this unknown 0055 compression tag was created, if I produce AVI by VDUB, using Lame MP3 encoder ( as opposite to my usual Fraunhofer for suboptimal air capture audio quality).
Not sure, if this made trouble for my Avisynth or VDub later, but
player ( my favourite MV2Player ) worked well.At least in my case I think it's something to do with the audio encoding format, not just the tag -- as I wrote, the tags are recognized correctly by codec utilities, and these files do decode properly with DirectShow.
BTW, are you the same J(ohn) Navas as the one known in Pegasus Mail forums ?Yes. But I now use Thunderbird. :D

sh0dan
24th May 2005, 18:48
'0055' is AC3, or similar, IIRC. You need to either demux or use DirectShowSource for getting the audio into AVS.

stephanV
24th May 2005, 19:09
0x0055 is mp3 (ac3 is 0x2000)

your problem might be described here (http://forums.virtualdub.org/index.php?act=ST&f=4&t=802&hl=0055&)

You could try to work around it by remuxing the files in AVIMux GUI, or extracting the audio with e.g. graphedit.

JNavas
24th May 2005, 21:43
Originally posted by stephanV
your problem might be described here (http://forums.virtualdub.org/index.php?act=ST&f=4&t=802&hl=0055&)

You could try to work around it by remuxing the files in AVIMux GUI, or extracting the audio with e.g. graphedit.The problem may be something like that link, but in this case the audio was compressed with "LAME3.95" (as noted in my original post). Is this version of LAME known to produce non-conforming MP3? Regardless, why wouldn't the LAME ACM decoder not be able to solve the problem? I tried it without success.

My current work-arounds are to either (a) decompress the audio in a new AVI [a hassle, time-consuming, and a waste of disk space] or (b) use DirectShowSource in AviSynth [a number of issues, including the need to manually specify the correct frame rate], and I don't want to be screwing around with mux/demux either, which is why I'd prefer to get VFW (AviSource) working. For that matter, I'd prefer not to have to use AviSynth at all, with is itself a work-around, because of TMPGEnc 3.0 XPress not being able to read the video file correctly on its own!

stephanV
24th May 2005, 22:22
Originally posted by JNavas
The problem may be something like that link, but in this case the audio was compressed with "LAME3.95" (as noted in my original post). Is this version of LAME known to produce non-conforming MP3? Regardless, why wouldn't the LAME ACM decoder not be able to solve the problem? I tried it without success.
Lame is not a decoder...

But yes, LAME ACM is known to screw around in quite a few things.

cypher_soundz
24th May 2005, 22:45
have you tried opening it with Vdub, selecting saving wav and then opening the job list and starting the job?
Regards
cyph

JNavas
24th May 2005, 23:21
Originally posted by stephanV
Lame is not a decoder...

But yes, LAME ACM is known to screw around in quite a few things. LAME is also a decoder, just not (yet) an ACM codec decoder.

In what specific ways is it "known to screw around?"

JNavas
24th May 2005, 23:25
Originally posted by cypher_soundz
have you tried opening it with Vdub, selecting saving wav and then opening the job list and starting the job?
Regards
cyph Thanks, but if you read the entire thread, you'll see that I already know of work-arounds. ;) What I'm looking for is a way to make it work properly without painful work-arounds. :(

stephanV
24th May 2005, 23:36
Originally posted by JNavas
LAME is also a decoder, just not (yet) an ACM codec decoder.
Which in VirtualDub and AviSynth using AviSource() pretty much equates to the same thing, doesnt it? You can leave the yet out though... :p

In what specific ways is it "known to screw around?"
Last time I used it, it was known to crash a lot and stuff up the whole ACM system. Having multiple mp3 ACMs is not really recommendable anyway if you use it for encoding...

I don't think you can go around this without work arounds... so next time you make AVIs don't use LAME ACM. :)

JNavas
25th May 2005, 01:33
Originally posted by stephanV
Last time I used [LAME ACM], it was known to crash a lot and stuff up the whole ACM system. Having multiple mp3 ACMs is not really recommendable anyway if you use it for encoding...

I don't think you can go around this without work arounds... so next time you make AVIs don't use LAME ACM. :)I'm not making AVIs with LAME ACM, and this has nothing to do with the ID tag/decoder issue that's the point of this thread. Don't you have anything constructive to suggest? :rolleyes:

stephanV
25th May 2005, 07:04
The constructive part was that you cannot work around it. You are not willing to do anything to try and fix the file, there are no other ACM decoders for MP3, so your only option is to extract the audio to WAV.

Simple no?

JNavas
26th May 2005, 04:58
Originally posted by stephanV
The constructive part was that you cannot work around it. You are not willing to do anything to try and fix the file, there are no other ACM decoders for MP3, so your only option is to extract the audio to WAV.
Simple no?No, not simple. Also, not correct.

There are work-arounds, as I posted previously:Originally posted by JNavas
My current work-arounds are to either (a) decompress the audio [into] a new AVI [along with video] [a hassle, time-consuming, and a waste of disk space] or (b) use DirectShowSource in AviSynth [a number of issues, including the need to manually specify the correct frame rate, and audio sync problems] ...Likewise there are other MP3 ACM codecs; e.g., Kristal Studio MPEG Layer-3 Audio Codec 4.2.0.0 (MPEG Layer-3 Producer, Copyright 1999-2000 Kristal Studio) which can be found in the Nimo Codec Pack 5.0 Build 8 (http://nimo.titanesk.com/modules/freecontent/index.php?id=1). This codec will decode some (but not all) of my problematic XviD+MP3 AVIs.

Apology accepted. ;)

JNavas
20th November 2005, 01:20
I've finally hit on a work-around with AviSynth frameserving into TMPGEnc 3.0 XPress for correct frame rate that seems to work very well! Here's a sample AviSynth script that illustrates the method:


# source XviD AVI file
file = "SampleXviD.avi"
# open AVI video-only to get correct frame rate
AVISource(file, audio = false)
# save correct frame rate for DirectShowSource
frate = Framerate()
# reopen in DirectShow for better audio compatibility
DirectShowSource(file, fps = frate)
I also have the following (unrelated to the work-around) in my scripts:


Normalize(0.98)
:cool:

acebrain
1st March 2006, 17:56
ACM failed to suggest a compatible PCM formate
(c:\progra`1\gorida`1\priew.avs.line18)

same problem here
read all above but couldnot found any soultion
need help

bagheera1
1st March 2006, 18:37
I just posted about this problem here (http://forum.doom9.org/showthread.php?t=107448), let me know it works (if you decide to do the hex edit, you might want to do it on a copy of the origional).

rhayman
27th February 2007, 23:14
i also had this problem. however i managed to fix this by opening the avi file in the new virtualdub (im using 1.70). When you open the avi file it gives the error: "A non-zero wBitsPerSample was detected in the mp3, this has been corrected".

I then changed video to direct stream copy and audio to full processing mode and saved as uncompressed audio. i could then use the file perfectly in avisynth.

If i tried to direct stream copy audio without using full processing it caused major sync issues.

hopefully this will help.

IanB
1st March 2007, 02:56
Avisynth 2.5.7 also has the non-zero wBitsPerSample mp3 fix so it should also be able to help here.