Log in

View Full Version : pal to ntsc


dartboard
2nd December 2004, 19:58
Converting to PAL is straight-forward, just click the box. But is there any way to convert from PAL to NTSC within DVD2SVCD using TMPgenc as the transcorder?

Nick
2nd December 2004, 22:22
Welcome to Doom9 forums!

Not as easy as NTSC2PAL I'm afraid.
But the "how to" is in Q67 of the FAQ (http://forum.doom9.org/showthread.php?s=&threadid=21859)

dartboard
2nd December 2004, 23:08
Thanks for the conversion method pointer, I'll try it. They sound simple, at least to this idiot!

Happygolucky
3rd December 2004, 15:05
Originally posted by dartboard
Thanks for the conversion method pointer, I'll try it. They sound simple, at least to this idiot! I would like to point out that my experience (and I've done this type of conversion a lot) shows that the "elegant" method listed in the FAQ is the better one. Also note that the resize mentioned in the FAQ is for SVCD not for DVD. For DVD it would be (720,480).

You must also process the audio seperately from the video. DVD2SVCD will process the audio but it will be the wrong frame rate, it won't synch with the video. Use BeSweet and the BeSweetGUI (I use it in easy Wizard mode) to convert the audio (I input the same .AVI file as for the video) and output to either MP2 or AC3 and use the PAL>NTSC(25fps to 23.976fps) conversion option. Then when you author your DVD, just use the video file produced by DVD2SVCD and the audio you've just made. Should work fine.

I no longer use DVD2SVCD for the conversion process, I've found it easier now to just create a simple AVISynth script with a few lines and input that direct into TMPGEnc.

Kika
3rd December 2004, 15:39
But the "how to" is in Q67 of the FAQ

Um, meantime there are much better Methods available to do such conversions.

Like:
Source: 25 FpS, interlaced or progressive
Target: 29.97 FpS, interlaced

KernelBob(order=1, sharp=true, twoway=true, threshold=0)
BicubicResize(720,480,0,0.6)
ConvertFPS(29.97*2)
SeparateFields.SelectEvery(4,0,3).Weave()


NTSC-SlowDown
Source: 25 FpS, progressive
Target: 23.976 FpS, progressive

AssumeFPS(23.976)
BicubicResize(720,480)


Quick'n Dirty
Source: 25 FpS, progressive
Target: 29.97 FpS, progressive

ConvertFPS(29.97)
BicubicResize(720,480)

Nick
3rd December 2004, 17:07
As I see it, your second and third options are identical the elegant and dirty ways from the FAQ respectively.

I appreciate the use of KernelBob does improve resizing of interlaced footage. Your first method appears to be otherwise identical to the second dirty method in the FAQ but with the KernelBob added.

I keep threatening to overhaul the outdated FAQ but never seem to find the time :(

If and when I do I shall update the second dirty way to include the use of KernelBob.

Otherwise your methods seem to be identical, unless I'm missing something :confused:

Kika
4th December 2004, 00:28
Otherwise your methods seem to be identical, unless I'm missing something

No, you don't missed anything. I posted them just for having all Methodes combined in one Posting. And i think (hope), my description of Source and Target Formats is a bit more clear (this interlaced / progressive / Framerate stuff).

But this second dirty way is a really dirty one:

bilinearresize(480,480)
convertfps(29.97*2)
assumeframebased()
separatefields()
selectevery(4,0,3)
weave()

This CAN'T work properly if the source is interlaced. But, the KernelBob-Methode isn't a dirty way. It works perfekt on interlaced AND progressive Video (OK, for progressive Source, i prefer a SlowDown).

bilinearresize(480,480) # As the first command that's a no no. If the Source is interlaced - that's it. After this, the interlacing is destroyed. (BTW: 480,480 is for SVCD only).

Maybe scharfis_brain can explain this a bit more, his english is much better than mine.

scharfis_brain
4th December 2004, 01:36
kika, why are you using a threshold of 0 ?

it completely disables the motion-checking.

threshold=0 is only recommended with high-motion (shaky hands) camcorder footage...

Nick
4th December 2004, 02:02
I didn't write the FAQ on this but that is indeed a very good point.
The resize command is definitely in the wrong place.

Being from a PAL country (as are you two :confused: ) I have no great cause to test PAL2NTSC. However, as I said, I am working on a FAQ update, so any concrete info regarding updates an the scripts would be greatly appreciated.

Cheers
Nick

Happygolucky
4th December 2004, 14:57
I have converted dozens of PAL to NTSC using a very simple script without any problem. Essentially, my script looks like this (the resize numbers aren't real, I just tossed in some numbers for this post, I usually resize for 16:9 NTSC anamorphic):

AVISource("c:\film\x.avi",false)
Lanczos4Resize(688,356,0,0,640,256)
AssumeFPS(23.976)

I load this into TMPGEnc, let it do the 3:2 Pulldown as it encodes. I then run the x.avi file through BeSweet with the PAL>NTSC(25fps to 23.976fps) rate adjustment.

Simple and beautiful results every time without any hassles. I have never had a bad conversion doing this.

Kika
4th December 2004, 15:39
Originally posted by scharfis_brain
kika, why are you using a threshold of 0 ?

it completely disables the motion-checking.

threshold=0 is only recommended with high-motion (shaky hands) camcorder footage...

Oh, im using it, because i have Camcorder Footage. ;)
With source like this, Threshold=0 is doing a good job.


@Happygolucky
Many ways are leading to rome... In some cases, your methode will work propperly, in some it won't. It depends on your Source. For true interlaced Footage, it won't do the job.

@Nick
Yes, i'm in a PAL-Country. From time to time i do some Coversion-Jobs for other People, mostly Camcorder Footage. That's why i need PAL2NTSC and NTSC2PAL

Happygolucky
4th December 2004, 20:56
Originally posted by Kika
@Happygolucky
Many ways are leading to rome... In some cases, your methode will work propperly, in some it won't. It depends on your Source. For true interlaced Footage, it won't do the job.

I have yet to work with any interlaced footage, so I haven't run into that problem. All my sources have been progressive to now.