View Full Version : PAL - NTSC based query...
e_z out
4th December 2002, 02:46
Wasn't entirely sure which forum to use...
I have two edited Premiere 6 timelines each of about 90 mins total duration. All my footage was originally shot on DVcam and is in PAL format. I was intending to encode short .M2V files directly from the timeline using Matrox ibp file export - I have an RT2500. I use the work area marker to seperate out different sections and then encode them straight off the timeline. My aim is to make 2 DVD discs, authoring with ReelDVD.
Suddenly I find out that the whole thing has to be NTSC !
I think it should work if I render the various sections in Premiere so I have clips, create a new NTSC project in After Effects 5.5 and drag in the rendered PAL clips. I then render again. If I can figure out the settings, I will use Twixtor 2.0 in AFX to help with the frame blending. I will then have NTSC clips that can be encoded as MPEG 2.
The After Effects project settings will be 29.97 fps, 720 x 480 pixels.
This seems a rotten way to do things, recompressing twice and taking a very long time.
There MUST be a more elegant method than this. Does anyone know it ?
Can I encode a PAL .avi as an NTSC .M2V ? (probably not) Would it be better to author the DVD in PAL and then standards convert it somehow ? (doubt it !) What I DONT want to do is pay some facilities house a fortune to do a not-very-good job of standards conversion to NTSC, then capture and edit again.
BTW, I installed Baobab's DV Converter to enable switching between NTSC and PAL in Premiere. This worked great switching from PAL to NTSC but it won't let me switch back, quoting ' Runtime Error 53'. Such a shame, this software seems to offer a lot to Matrox RT2x00 users.
Sorry this is all a bit wordy, would be very grateful for any comments...even if it's just some advice about using the Twixtor plugin !:confused: :confused: :confused:
auenf
4th December 2002, 11:40
you should convert to NTSC before authoring.
Enf...
Xesdeeni
4th December 2002, 14:23
I have a free standards conversion process that you might want to try.
First you have to get the video out of Premiere. You can either use the AVISynth export plugin for Premiere, or you can create an intermediate AVI file.
Then you can run the video through this script: http://forum.doom9.org/showthread.php?s=&threadid=35387.
Finally, you open the AVISynth script as if it were an AVI file in your MPEG encoder. If the encoder doesn't deal with AVISynth scripts, then you'll have to save another intermediate AVI file in NTSC format.
Xesdeeni
e_z out
5th December 2002, 00:32
Thanks for that, I'm going to try to read up on it tonight as I have never frameserved before.
I was thinking of trying to encode with TMPG (another first for me). Would this be considered a good choice ?
If anyone has experience with Twixtor, though, I would still be very interested to hear how it's various perameters are best set as I heard it gives good quality.
e_z out
6th December 2002, 05:35
So...I installed Avisynth, AvisynthEX, The premiere .951 frameserver and TMPG...
This seems such a great way to do things but I did run into a couple of problems...
Firstly I frameserved PAL from the premiere timeline to TMPG to make .m2v files - fantastic. They authored and burned great. I used the supplied TMPG PAL template.
Then I tried the NTSC conversion script :
LoadPlugin("AviSynthEx.dll,SmoothDeinterlacer.dll")
vpro = SmoothDeinterlace(tff=true,doublerate=true)
vinfps = 29.97<25\
vpro.BilinearResize(720,480) \
vpro
vfps = ConversionType == 2 \
vinfps.ConvertFPS(29.97 * 2, zone = 80) \
ConversionType == 2 \
vinfps.ConvertFPS(29.97 * 2) \
vinfps.ChangeFPS(29.97 * 2)
voutfps = 29.97 <= 25 ? \
vfps.BilinearResize(720, 480) : \
vfps
vfields = voutfps.SeparateFields()
vlace = OutputTopFieldFirst ? \
vfields.SelectEvery(4, 1, 2) : \
vfields.SelectEvery(4, 0, 3)
vout = vlace.Weave().ConvertToRGB()
return(vout)
video=IPCSource("untitled0")
return video
I got an .m2v file but when I tried to open it in ReelDVD, it was refused and I got the error message :
Error : Number of fields (4954) in GOP (1#) or between sequence_header_code should be equal or smaller than 36.
In TMPG, I had set my GOP structure to 18 max so I tried it at 15 and got the same message again in Reel DVD.
I am not sure if the problem lies with my TMPG settings or with my implementation of the script (it's the first time I ever tried a script). I attached my TMPG template if anyone would be kind enough to take a look at it and say where I might have gone wrong , you could maybe bring some joy into my life because I like the method very much and my PAL encode was great, much superior to the Matrox IBP export.
Thanks for help so far...
Xesdeeni
7th December 2002, 16:22
If you don't want to just use the big variable script, you can use a short explicit one:LoadPlugin("SmoothDeinterlacer.dll")
AVISource("PALDV.avi")
SmoothDeinterlace(doublerate=true)
BilinearResize(720, 480)
ChangeFPS(59.94)
SeparateFields()
SelectEvery(4, 0, 3)Note that you shouldn't have to specify tff, since it should be detected automatically (also, I think PAL DV is bottom field first like NTSC DV).
This script ends up replicating a field to convert from 50 to 60 fps. You might find that you will like ConvertFPS(59.94) better than ChangeFPS(59.94), because it interpolates frames.
You might also need to add ConvertToRGB() at the end because of a bug that sometimes shows up in the Microsoft YUV codec.
I got an .m2v file but when I tried to open it in ReelDVD, it was refused and I got the error message :
Error : Number of fields (4954) in GOP (1#) or between sequence_header_code should be equal or smaller than 36.NTSC MPEG streams are limited to 15 frame GOPs for DVDs (not an MPEG limit, a DVD limit). PAL MPEG streams have an 18 frame GOP limit.In TMPG, I had set my GOP structure to 18 max so I tried it at 15 and got the same message again in Reel DVD.You might want to double-check that you actually made the change, because this should work fine (unless there is some problem with TMPGEnc and ReelDVD that I don't know about).I am not sure if the problem lies with my TMPG settings or with my implementation of the script (it's the first time I ever tried a script).AVISynth scripts don't affect the MPEG encoding. It modifies the images themselves, but doesn't affect codec compressions.
Xesdeeni
e_z out
9th December 2002, 17:39
Well, getting closer...I tried TMPG again with 15 frame GOP and this time it was fine, I must have made an error in my settings before - and I got an NTSC DVD that played fine - but was mostly green and purple.
Colourspace problems, right ?
I captured from PAL DVCam so I think that I am starting off in YUV. I tried adding ConvertToRGB to my script (see below) but the results were the same, purple and green. This made me think that there is something wrong with my syntax (see below for the script I used). Or should I have explicitly used RGB24 or 32 ? Is RGB what TMPG wants ?
BTW, I capture with a Matrox RT2500 card which explicitly says in the manual that the field order for output is top field first, unlike the Matrox g200 or g400. Changing tff options in the script didnt seem to make any difference. Am I writing the script properly ?
The motion quality in my NTSC was a little disappointing, also, not hideous but clearly interpolated. This showed up mostly on fast dance moves. Also, in my PAL frameserve, the contrast seemed to be heavily boosted by TMPG.
My Script :
LoadPlugin("AvisynthEx.dll")
LoadPlugin("Smoothdeinterlacer.dll")
video=IPCSource("untitled0")
SmoothDeinterlace(tff=false,doublerate=true)
BilinearResize(720, 480)
ConvertFPS(59.94)
SeparateFields()
SelectEvery (4,0,3)
vout=vlace.Weave().ConvertToRGB()
return video
video=IPCSource("legsun20")
return video
I would be very grateful for any further help, if I only knew my syntax was right I would feel more confident in my tests. Does the order of the lines matter ?
Thanks for the help so far...
Xesdeeni
9th December 2002, 22:50
Well, getting closer...I tried TMPG again with 15 frame GOP and this time it was fine, I must have made an error in my settings before - and I got an NTSC DVD that played fineGlad we got that part sorted out. - but was mostly green and purple.
Colourspace problems, right ?Definitely. RGB being interpreted as YUV.I captured from PAL DVCam so I think that I am starting off in YUV.PAL DV is YUV 4:2:0. This isn't a supported YUV format (neither is the 4:1:1 that NTSC uses), so the codec will actually output YUV 4:2:2.I tried adding ConvertToRGB to my script (see below) but the results were the same, purple and green.The artifacts from the broken YUV converter are not totally screwed up colors. You'll see the right colors, but the images will have many bands, like you are trying to look at 12- or 15-bit RGB. Your problem is different.This made me think that there is something wrong with my syntax (see below for the script I used). Or should I have explicitly used RGB24 or 32 ? Is RGB what TMPG wants ?Whenever you put in ConvertToXXX(), the data is actually converted from what the codec says it started as. If the input is RGB, but the codec says it's YUV, then the conversion to RGB will assume it's doing YUV to RGB, and the green and purple (magenta) will still be there.BTW, I capture with a Matrox RT2500 card which explicitly says in the manual that the field order for output is top field first, unlike the Matrox g200 or g400.I have some question about PAL, which I'll outline in a second. For NTSC, each pair of fields is treated as a single frame. But as you know, each of these fields comes from a different point in time, separated by 1/59.94 of a second. But which field occurred first in time? That is dictated by the camera. For DV, the standard is that the bottom field (if the frame lines are 0 through 479, then this is all the odd lines) comes first. DV encodes each frame as a single unit, with no dependence on the frame before or after it (MPEG has dependencies in both directions). So, the only way to alter this field relationship is to actually decode the frame and an adjacent frame, separate the fields from both frames, re-interlace one field from each frame (the correct two), and then recompress the frame back to DV.
I seriously doubt the card is doing this, so I suspect their assertion of top field first is for the analog features of the card, not the DV features.
The caveat to this is that (as I understand it) PAL can either encode pairs of fields together, as with NTSC, or encode the fields separately. Apparently the camera can actually decide as it is recording to switch between these two modes. This is really a good thing for PAL, since it is encoded as 4:2:0. This means adjacent lines must share color information, unlike NTSC's 4:1:1, where color information is just shared within a line (both of these systems have their problems). If there is no motion, this will look very good (better than 4:1:1 IMHO). But if there is motion, one field may contain something of a color that doesn't even occur in the other, so sharing colors would be A Bad Thing (and be worse than 4:1:1).
Anyway, without more specific information, I would make the assumption that it would introduce a serious problem if switching between field and frame encoding resulted in some frames where the top field was first, and some where the bottom field was first. So I would be fairly certain that the frames are all the same.Changing tff options in the script didnt seem to make any difference. Am I writing the script properly ?To date, I only have access to one piece of PAL DV footage. I am sure that this footage is bottom field first, and if I set tff=true, the frames definitely come out in the wrong order.The motion quality in my NTSC was a little disappointing, also, not hideous but clearly interpolated. This showed up mostly on fast dance moves.You might want to try ChangeFPS() in place of ConvertFPS(). This will replicate rather that interpolate frames. I personally prefer this.Also, in my PAL frameserve, the contrast seemed to be heavily boosted by TMPG.It's difficult to compare the image on the computer screen the that on a TV, because the displays use different gamma (response) curves. Whenever possible, use a TV (preferably a calibrated, high quality one) to judge such things.My Script :
LoadPlugin("AvisynthEx.dll")
LoadPlugin("Smoothdeinterlacer.dll")
video=IPCSource("untitled0")
SmoothDeinterlace(tff=false,doublerate=true)
BilinearResize(720, 480)
ConvertFPS(59.94)
SeparateFields()
SelectEvery (4,0,3)
vout=vlace.Weave().ConvertToRGB()
return video
video=IPCSource("legsun20")
return videoI see lots of problems here. I'm not sure how you even got AVISynth to accept this.
First, once you introduce a variable ("video=IPCSource(...)"), you need to carry this forward. (Note that I have this same problem in the sample DVD conversions scripts on Gunnar's web page, so you can blame this one on me :) ).
As a result, the next set of 5 lines shouldn't find any input video, and you should see an error.
Next, the "vout=..." line also has no valid input, since there is no vlace above.
Then, you "return video," which should bypass all the work done above (assuming AVISynth didn't balk on the script), because you are just returning the IPCSource() specified above.
Finally, you have another "video=..." and "return video" line at the bottom, which should thoroughly confuse AVISynth.
Try this:LoadPlugin("AvisynthEx.dll")
LoadPlugin("SmoothDeinterlacer.dll")
IPCSource("untitled0")
SmoothDeinterlace(doublerate=true)
BilinearResize(720,480)
ConvertFPS(59.94)
SeparateFields()
SelectEvery(4,0,3)
Weave()
ConvertToRGB()I would be very grateful for any further help, if I only knew my syntax was right I would feel more confident in my tests. Does the order of the lines matter ?As far as I know (and I'm definitely not an expert on the multitude of ways AVISynth scripts can be written), the order ALWAYS matters.Thanks for the help so far...Let me know if this works.
Xesdeeni
e_z out
10th December 2002, 22:43
I worked out that AVISynth is not accepting my scripts at all. My PAL Premiere timeline is frameserving into NTSC-set TMPG but the filters that I am entering into my script are not being used. Any conversion that is happening for me is happening in TMPG alone.
I worked this out by frameserving the timeline 'straight' and then frameserving IT with a script, both times into TMPG set for NTSC and burning both to DVD. They are identical. No wonder I wasn't impressed with the interpolation !
I am going slightly crazy trying to work out what I am doing wrong.
I write my 'standards conversion' script and save as IPCServer.avs.
I go to my timeline and do 'make movie' choosing 'video server' as my file type.
Under 'advanced settings' I choose 'Connect to AVISynth' as option (as opposed to 'AVIWrapper').
I check the 'create AVS file for AVISynth' option and browse to my 'IPCServer.avs' file.
I have installed Avisynth 1.07, AvisynthEX,Premiere video server .951...
My .avs file is then overwritten with :
LoadPlugin("AvisynthEX.dll")
video=IPCSource(untitled0")
return video
Sorry to introduce such a lame problem but I'm think I'm missing something simple...any Ideas what it might be ?
Xesdeeni
10th December 2002, 23:01
It's been a while since I frameserved with Premiere. I think you did everything I remember, except selecting your .AVS file as the "create AVS file...." I don't know that this is wrong, but I don't remember doing this. But I also think at the time I did the frameserving, I didn't process anything in AVISynth, I was just trying to frameserve into TMPGEnc.
Anyway, maybe we can break down the problem into smaller pieces. Once you've started export, choose a different name for the .AVS file created from inside Premiere and then see if you can load that file into VirtualDub (I use VirtualDub to load my AVS files when I'm testing because it's much quicker).
Then add an obvious filter to the .AVS file, like Greyscale() and see if you see the difference when you reload it into VirtualDub.
After that it should be smooth sailing.
Xesdeeni
e_z out
10th December 2002, 23:24
Thanks for the quick reply ! Starting to pull my hair out a bit...
The dialog box in the video server only offers one field to complete with the name of an .avs file. This is the .avs file that premiere creates for TMPG to open.
Whatever I name this file, It is not referencing the standards conversion script file that I have written.
I suppose I just don't understand how to use my .avs script file properly : I must open the .avs that premiere generates in TMPG, how is the standards conversion script referenced at all?
I cannot change the export name once export has started.
Am I just using the wrong frameserver ? Would I be better with AVISynth 0.3 beta and 0.25 or 1.1b plugin ?
Your help much appreciated, hope I'm not encouraging you to tear any hair out !
auenf
11th December 2002, 12:35
edit the avs BEFORE you open the avs in tmpg, but AFTER you select the avs in prem (save the commands in a text file handy)
Enf...
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.