Welcome Guest ( Log In | Register )


Important

The forums will be closing permanently the weekend of March 15th. Please see the notice in the announcements forum for details.

Pages: (2) [1] 2  ( Go to first unread post )
Tag: 2000 Problem, VirtualDub can't read AC3 audio
« Next Oldest | Next Newest » Track this topic | Email this topic | Print this topic
Niccolo MAC
Posted: Aug 20 2005, 02:49 PM


Unregistered









I just downloaded VirtualDub 1.6.10 from the official site.
I also got the AC-3 ACM Decompressor 0.8 from the official site.

My problem is that even after installing the ACM codec VirtualDub still can't read AC3 audio. I get a VirtualDub Error message which states that "No audio compressor could be found to decompress the source audio format. (source format tag: 2000)"

I already tried uninstalling AC-3 ACM Decompressor 0.8 and re-installing it but no luck. I also tried uninstalling AC-3 ACM Decompressor 0.8 and installing the 0.7 version instead, but I still get the same error message.

What's wrong???

Thanks in advance for everyone's help.
 
  Top
fccHandler
Posted: Aug 20 2005, 03:04 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



Did you reboot after installing? If not, try that.

Can you see "AC-3 ACM Decompressor" in VirtualDub's Audio / Compression list? If so then it's definitely installed, but it might fail to function if your AC-3 stream is messed up somehow.

--------------------
May the FOURCC be with you...
 
     Top
Niccolo MAC
Posted: Aug 20 2005, 03:17 PM


Unregistered









I rebooted after installing.

I can also see AC-3 ACM Decompressor in VirtualDub's audio/compression list. The decompressor is also visible in Windows XP's add/remove programs list.

The video file's ac3 stream is fine, as I can play the movie with Windows Media Player using Vigovsky Alexander's AC3 Filter v0.70b.

By the way I had AC-3 ACM Decompressor 0.7 installed on my old harddisk, and it always worked flawlessly. Then my harddisk failed and I lost everything, and now that I downloaded and installed the latest versions of VirtualDub and AC-3 ACM Decompressor I got this problem.
 
  Top
fccHandler
Posted: Aug 20 2005, 03:32 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



In that case AC3ACM isn't recognizing it as AC-3 for some reason, maybe because of the AVI stream header... (I think Valex's filter is a little more forgiving about that.)

Can you open the AVI in VirtualDub's hex editor, maximize its window, take a screen shot and post it here? Better yet if you could email me a piece of the beginning of the AVI (it has to be less than 2MB though).

--------------------
May the FOURCC be with you...
 
     Top
Niccolo MAC
Posted: Aug 20 2005, 05:26 PM


Unregistered









Since my hard disk is brand new I don't have any other movies with AC3 audio stream in them. I never tried any other ac3 movie in it, so I don't know how your decompressor works on other movie files.

How can I post the requested screen shot?

 
  Top
fccHandler
Posted: Aug 20 2005, 05:58 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



Upload the picture somewhere on the web and post a link to it here. If you don't have your own web space, there are a lot of free image hosting sites. Here's a list I saw on Doom9's forum:

http://forum.doom9.org/showthread.php?t=96362

--------------------
May the FOURCC be with you...
 
     Top
Niccolo MAC
Posted: Aug 20 2005, 10:36 PM


Unregistered









Thanks, you're very helpful!

http://img378.imageshack.us/img378/9112/ta...0problem3fa.jpg

This post has been edited by fccHandler on Aug 21 2005, 01:32 PM
 
  Top
fccHandler
Posted: Aug 21 2005, 05:36 AM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



Well damn. I can see the video header ("vids" and "XVID") but it's followed by a big empty "JUNK" chunk so the audio header isn't visible in this picture. Can you scroll down to offset 1000 and post another picture starting from there? I'm looking for the header which begins with "auds".

Alternatively, use VirtualDub in "direct stream copy" mode to save the first 50 frames of the movie, and email it to me. (Hopefully it will be less than 2 MB in size.) My address is given in the "Readme.txt" file of AC3ACM.zip.

--------------------
May the FOURCC be with you...
 
     Top
Niccolo MAC
Posted: Aug 21 2005, 10:10 AM


Unregistered









Ok found your e-mail address and e-mailed you from the first frame to the first key frame (240 frames total). It came to 1.3 Mb.

Just a simple question, you can't cut an avi file anywhere except from a key frame to another key frame right? Unless you're re-encoding the video stream at the same time?

If you open the movie file with GSpot you will notice something strange in the Audio section. The FS is given as 47999 Hz! I think it should be 48000 Hz.

I think you're right, there must be something wrong with my file. Pity I don't have another movie with AC3 audio to try VirtualDub with...
 
  Top
fccHandler
Posted: Aug 21 2005, 01:53 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



Thanks for sending the clip.

GSpot is right. The AVI header for the audio stream is incorrect. It's actually 48000 Hz, stereo 192 kbps AC-3. I didn't see anything wrong with the AC-3 audio itself, only its header.

So... I thought I could rip out the raw AC-3 and remux the video and audio with VirtualDubMod, but AC3ACM still won't recognize the audio! That's very strange, because I know I did it right.

So now there are two problems. One, the original AVI has a bad header, but that can be fixed by demuxing and remuxing. Two, something is still wrong with AC3ACM rejecting the fixed version.

I'll post again when I figure out what's going on...


QUOTE (Niccolo MAC @ Aug 21 2005, 06:10 AM)
Just a simple question, you can't cut an avi file anywhere except from a key frame to another key frame right? Unless you're re-encoding the video stream at the same time?

Right, except for one thing. In "direct stream copy" mode the cut has to start on a key frame, but it doesn't have to end on a key frame.


P.S. I changed your picture into a link, because it was making the thread too wide for my desktop. smile.gif

--------------------
May the FOURCC be with you...
 
     Top
fccHandler
Posted: Aug 21 2005, 07:55 PM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



OK, where to begin...

It turns out that there is a long standing compatibility issue between VirtualDubMod and AC3ACM. It's probably been there for years.

The first problem of the "bad header" involves the WAVEFORMATEX header in the AVI you sent me. In this case the wrong field is the "nSamplesPerSec" field, which was set to 47999. You can't use VirtualDub to fix it though, because if you save a WAV from VirtualDub the bad header stays with it. You have to use VirtualDubMod to "demux" the AC-3 stream, then remux the raw .ac3 with the original video using VirtualDubMod. That fully rebuilds the WAVEFORMATEX header.

The second problem I found today is that VirtualDubMod also writes a bad field in its WAVEFORMATEX header! In this case it's the "nAvgBytesPerSec" field, which AC3ACM expects to be equal to the AC-3 bitrate * 125. VirtualDubMod's number is just a little bit off, and that causes AC3ACM to reject the audio.

I can't believe this hasn't come up before now. Maybe it has, and I just misinterpreted the signs. Valex warned me a long time ago that the validation checks in AC3ACM were too inflexible, and I argued the contrary. Well, here's proof that Valex was right... ph34r.gif

Since I don't know if VirtualDubMod will ever get fixed, I've changed AC3ACM to ignore the "nAvgBytesPerSec" field if the "nBlockAlign" field is equal to 1. (I think it always is with VirtualDubMod.) The new AC3ACM is here.

Just remember you have to remultiplex the movie with VirtualDubMod first, to fix the original bad header. Let me know if you any problems.

--------------------
May the FOURCC be with you...
 
     Top
Niccolo MAC
Posted: Aug 21 2005, 08:14 PM


Unregistered









Thanks a lot! I'll try it out tomorrow!
 
  Top
squid_80
Posted: Aug 21 2005, 10:19 PM


Advanced Member


Group: Members
Posts: 594
Member No.: 13813
Joined: 22-January 05



fccHandler: Have you ever seen vdubmod write an incorrect value for cbSize in the WAVEFORMATEX header? Seems there are some programs that put 18 (or sizeof(WAVEFORMATEX)) in there instead of 0. I thought vdubmod was the culprit but now I'm not so sure.
 
     Top
fccHandler
Posted: Aug 22 2005, 04:14 AM


Administrator n00b


Group: Moderators
Posts: 3961
Member No.: 280
Joined: 13-September 02



My copy of VirtualDubMod (1.5.4.1 / 2180) doesn't do that. But VirtualDub-MPEG2 does, if you save a WAV in DSC mode from a .VOB with AC-3 audio. The reason...

There is no official documentation for how to put AC-3 into AVI files. So, a long time ago when I wanted to add AC-3 DSC support to VirtualDub-MPEG2, I downloaded a bunch of examples from various places (typically P2P). I used these as templates for the DSC support in VirtualDub-MPEG2 and for testing AC3ACM. For some reason, all the AVIs I could find had cbSize = 18, so I just imitated that in VirtualDub-MPEG2.

But like you, I've always suspected that some tool somewhere was goofing up the header. (In fact, there's a little notation to that effect in the source code of VirtualDub-MPEG2.) I still don't know what program goofs them.

Heck, it could even be VirtualDub 1.3c if you believe what's being posted in this thread! blink.gif

--------------------
May the FOURCC be with you...
 
     Top
squid_80
Posted: Aug 22 2005, 06:51 AM


Advanced Member


Group: Members
Posts: 594
Member No.: 13813
Joined: 22-January 05



Hmmm, ProjectX does it as well but I suspect it's just imitating like virtualdub-mpeg2 (since I don't think projectx has been around that long).
 
     Top
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:
29 replies since Aug 20 2005, 02:49 PM Track this topic | Email this topic | Print this topic
Pages: (2) [1] 2 
<< Back to Codec Discussion