VideoHelp Forum
+ Reply to Thread
Results 1 to 4 of 4
Thread
  1. Hi

    I have an XviD file with AC3 audio. The AC3 is a 5.1 (6 channels) surround file about 300Mb big. What I want is to do is to frameserve the video (XviD) and audio (AC3) with Avisynth without downmixing the sound to 2.0 (2 channels, stereo), but I just cant get it to work. I tried the AC3Source.dll plugin for Avisynth, but it downmixed the sound to 2.0 (2 channels, stereo) and outputted it as uncompressed PCM. Then I tried installing the AC3Filter, setting it to 5.1 (6 channels) mode and using DirectShowSource() to load the avi file. But again it didnt work as wanted, I did get 5.1 (6 channels) sound, but not in the Dolby (AC3) format, instead it was outputted in the uncompressed PCM format.

    And if I try to save the uncompressed PCM format I get a 4Gb size wav file instead of the 300Mb size AC3 file.
    If I frameserve with VirtualDubMod 1.5 it works fine and VirtualDubMod frameserves the audio correct, as a Dolby AC3 5.1 (6 channels) 300Mb file. But I dont want to use VirtualDubMod because i want to use some spesific Avisynth commands.

    How can I make Avisynth frameserve the audio correctly?

    Thanx
    Quote Quote  
  2. Member
    Join Date: May 2004
    Location: United States
    Search Comp PM
    What exactly is your end goal?

    Unless you are converting the framerate (NTSC -> PAL or vice versa), I don't see any reason to run the AC3 through an encoder. Simply separate the audio from the video, encode your video, and rejoin/mux/author/whatever the AC3.

    If you only want to encode a selection, you can save out a selection with VDubMod; I'm fairly sure it will save out a selection of audio+video and will maintain the integrity of the 6-channel AC3 file.

    -abs
    "The purpose of art is not the release of a momentary ejection of adrenaline but rather the gradual, lifelong construction of a state of wonder and serenity." --Glenn Gould
    Quote Quote  
  3. Well some stuff such as TimeStretch() will only work if I have the audio frameserved with Avisynth. And there is no free (or cheap) audio editor that can load an AC3 file, stretch the time so it fits without changing the pitch, then save it in the AC3 format still retaining the 5.1 (6channels).
    And yes I am converting from NTSC <-> PAL so I need a function like this.
    And the most important part is that I have many files I need to edit, if I were to use VirtualDubMod it would take ages to finish because I would have to wait for it to save the file every time, then frameserve it with Avisynth.

    Is there no way to make Avisynth correctly decode AC3?

    Thanx
    Quote Quote  
  4. Member
    Join Date: May 2004
    Location: United States
    Search Comp PM
    I believe I am correct in stating that, no, there is no way for AviSynth to correct decode 6-channel AC3 audio. The AC3Source filter definitely won't do it.

    You can use BeSweet to convert your Ac3 into six separate mono waves, changing the framerate at the same time. I use the command line:
    Code:
    BeSweet.exe -core( -input "d:Palsound.ac3" -output "d:Channels.wav" -6ch ) 
    -ota( -r 25000 23976 ) -profile( ~~~~~ Default Profile ~~~~~ )
    Your problem will be re-encoding the waves back to Ac3. BeSweet can do this, though the process is fairly complex, and my understanding is that the ac3enc that comes with BeSweet leaves much to be desired (audio will often be too low). See the BeSweet FAQ at dspguru.doom9.org for details. There's also an excellent sticky in the doom9 audio forum on proper encoding of AC3.

    To really re-encode properly, you'll need something like SoftEncode. But it ain't free.

    -abs
    "The purpose of art is not the release of a momentary ejection of adrenaline but rather the gradual, lifelong construction of a state of wonder and serenity." --Glenn Gould
    Quote Quote  



Similar Threads