I was trying out avisynth with this divx5 file I had and I kept getting this message: "ACM failed to suggest a compatible PCM format". A little bit of looking around (and looking at the information for the source avi in virtualdub) and it turns out the audio is AC3. I'm guessing it's not supported at the moment (I'm scarily new to avisynth) and passing the 'False' option on AVIFileSource plays the file just fine, minus audio. So now that I've meandered all over the place, my question is this: Is there any way to have avisynth determine if it should turn off audio for the source file? Maybe something I'm missing where if it encounters the above, it switches off audio? Failing that, is there a list of audio formats supported/not supported that I can catch and when generating the .avs file, I can add the 'False' option to AVIFileSource automatically?
Well, in my case VDub will play the file but will not play the audio. However, I did a direct stream copy of a small marked segment, making sure audio was set to avi and when I played the clip back with Gabest's mpc player, audio was fine. So VDub itself seems not to play the audio. I was originally just wondering if there was some option I could set for the .avs script to tell it to skip or KillAudio if it couldn't properly ... err... render it, I suppose. I apologize for that's a stupid question but I'm just starting in on this and I'm curious about how the program works. Edit: (Just In Case), avisynth 2.0.7.0 and vdub 1.4.12
My post was misleading -- substitute "if VDub can decode the audio..." and it makes more sense. The problem -- though I'm hesitant to classify it as such just yet -- is that Avisynth, in VDub-speak, only has full reprocessing mode. It's a much more powerful one in that it supports way more video & audio formats than VDub's RGB24 & two-channel PCM, but there are no datapaths for allowing pass-thru of compressed video or audio. Can you come up with some scenarios where this might be useful? If it's something we need to add, the requisite interface changes definitely have to be made before 2.5 is finalized!
No, I don't think it would be necessary to add, at least not for me. I end up demuxing the AC3 audio off the file anyway and then downmix and convert it in BeSweet.
I mostly leave the ac3 audio intact and unchanged on my HDTV captures but I guess I can accomplish the same thing with VdubMod by just opening the ac3 file there. So pass thru would be nice. But it would at least be useful to be able to choose to read only the video portion when the audio wouldn't be used anyway. - Tom
You can check if AviSource fails by something like: Try { AviSource("file.avi", audio=true) } Catch(err_msg) { err_msg="Not used" AviSource("file.avi", audio=false) } An error is only returned if even with audio=false the file can't be opened.
Brilliant! That worked just as advertised. I'm going to dig around some more on Try/Catch Error and learn more about it. In the meantime, thank you very much.