PDA

View Full Version : Audio problem in PAL>NTSC conversion


Happygolucky
28th November 2004, 20:14
I'm using a combination of TMPGEnc XPress and AVISynth (latest version) to take a PAL AVI file to MPEG2 ready for DVD authoring. I've done this numerous times but have always worked with the audio seperately, doing the audio conversion using BeSweet.

I've found that I could possibly do the audio along with the video in one step, but I'm running into a slight problem.

The AVISynth script I use is like this, with the AVI file having a 25fps rate and audio already at 48000 Hz:

AVISource("video.avi")
AssumeFPS(23.976,true)

Playing this avs script the audio works perfectly in synch with the new frame rate (AVISynth has grown up so well!). But when I try to use this script in TMPGEnc XPress, it now assumes the audio rate is something like 46036 Hz instead of 48000 Hz and thus attempts to do a rate conversion on it. I can't seem to find any way of telling TMPGEnc to leave the rate alone. Evidently, AVISynth in processing the audio alters the rate to adjust the synch to the video and TMPGEnc sees this as non-standard so wants to make it standard.

Any ideas, or do I just forget about trying to do it all in one step and continue with the separate audio processing using BeSweet?

Bogalvator
29th November 2004, 01:47
AviSynth will change the samplerate in order to keep the order in sync, so TMPGEnc is reporting back correctly (48000 * 23.976/25 = 46033). Just add the line:

ssrc(48000)

at the end of the script.

Alternatively, check out the docs for the "TimeStretch" function, which may be more useful for you......

Happygolucky
29th November 2004, 15:08
Originally posted by Bogalvator
AviSynth will change the samplerate in order to keep the order in sync, so TMPGEnc is reporting back correctly (48000 * 23.976/25 = 46033). Just add the line:

ssrc(48000)

at the end of the script.

Alternatively, check out the docs for the "TimeStretch" function, which may be more useful for you......
OK, so the samplerate IS being changed by AVISynth and TMPGEnc is correct in resampling it back to 48KHz. That's what I needed to know, I didn't know whether the rate was actually being altered or whether it was simply a reporting anomally. I've looked at the TimeStretch function but it seems I might get more accuracy by using the method I described and adding the ssrc function you suggest. I'll try the TimeStretch method, though, just to see how it does. I'm always openminded about new things.

And thanks for the info, it is much appreciated.