View Full Version : 640 x 480, 60 fps (Quicktime) to DVD (MPEG 2)
mantis2k
5th December 2006, 22:45
This is the first time I've encountered a video recorded with a digital camera in Quicktime format at 60fps. Could somebody please offer a good script to convert it to DVD MPEG 2 format without losing any noticeable quality? Is there any tricks with the framerate? Should a video with these specs be converted to PAL or NTSC for best quality? Any help would be much appreciated!
LogicDeLuxe
5th December 2006, 23:34
This is the first time I've encountered a video recorded with a digital camera in Quicktime format at 60fps. Could somebody please offer a good script to convert it to DVD MPEG 2 format without losing any noticeable quality? Is there any tricks with the framerate? Should a video with these specs be converted to PAL or NTSC for best quality? Any help would be much appreciated!Slowing it down to 59.94 fps and interlacing it to NTSC should be quite easy to do. If the loss is noticable depends mainly on the vertical details of the video.
Converting to PAL would be more difficult, as you need to convert the framerate for sure then.
mantis2k
5th December 2006, 23:40
Slowing it down to 59.94 fps and interlacing it to NTSC should be quite easy to do.
Please :script:
foxyshadis
6th December 2006, 00:24
Assumefps(60000,1001)
Separatefields().Selectevery(4,0,3).Weave()
If you're processing audio in the same script, you may or may not care about the tiny desync, but you can use AssumeSampleRate and SSRC to fix it up.
mantis2k
6th December 2006, 02:15
Sorry, but I think the Quicktime file is actually 14.985 fps (does that sound right for a digital camera recording?), which is an illegal framerate for MPEG 2. Please can you suggest a good script to make this DVD compliant?
Pookie
6th December 2006, 02:44
Search for MotionProtectedFPS
Alain2
6th December 2006, 02:52
or mvtools > mvflowfps2 ; there is an exemple in the readme, just use num=60000 and den=1001 in mvflowfps2 parameters (should do a good job, as you exactely double the framerate)
You'll have then to resize to a ntsc dvd standard if you want to make a dvd-compliant..
mantis2k
6th December 2006, 12:17
Oh no, it's definitely 60 fps. I couldn't source the quicktime, and RAD tools is what mucked up the framerate, but I've converted it to AVI with Quicktime Pro. So would interlacing as PAL be a similar concept to NTSC interlacing, ie. slow it down to 50 then use the same script Foxy posted?
LogicDeLuxe
6th December 2006, 12:33
So would interlacing as PAL be a similar concept to NTSC interlacing, ie. slow it down to 50 then use the same script Foxy posted?A Slowdown seems not to be a good idea. I would just blend it to PAL.
ConvertFPS(50)
BicubicResize(704,576)
Separatefields().Selectevery(4,0,3).Weave()
mantis2k
6th December 2006, 12:46
Ok thanks! Last question then please... How can I interlace a video that is a progressive 25 fps, and will the process downgrade the quality? Or can Interlaced and Progressive video clips be mixed and merged together as one legal stream?
foxyshadis
6th December 2006, 12:55
Some good encoders can detect progressive/interlaced and encode accordingly (especially those made for telecines), but it won't hurt too bad to just encode everything interlaced. You'll need to make sure the chroma doesn't get screwed up that way, so reweave progressive scenes as interlaced:
ConvertToYUY2()
SeparateFields().ConvertToYV12().Weave()
Since progressive and interlaced are both just a long string of fields/frames to the system, it's perfectly legal to combine them.
mantis2k
6th December 2006, 15:07
ConvertFPS(50)
BicubicResize(704,576)
Separatefields().Selectevery(4,0,3).Weave()
Unfortunately, this doesn't seem to work. For starters, the ConvertFPS function requires YUY2 input, but even if I add this extra line above, VirtualDub complains about the framerate.
Avisynth open failure:
ConvertFPS: New frame rate too small. Must be greater than 65.4364 Increase or use 'zone='
scharfis_brain
6th December 2006, 16:35
@foxyshadis: this is complete nonsense.
either convert to yv12 before reinterlacing or to yuy2. That depends on what sources your encoder can natively accept.
but you script will be a big chroma-mess.
foxyshadis
6th December 2006, 16:51
Did you separate fields before convertfps? It would give that kind of error if you fed it a 120fps source.
Scharfi, is there a simpler way of converting yv12 progressive into yv12 interlaced, with no other changes?
mantis2k
6th December 2006, 16:55
Did you separate fields before convertfps?
No (converted FPS first), but I've now outputted 50fps using Quicktime Pro, and will try to interlace that using the rest of the Avisynth code.
LogicDeLuxe
6th December 2006, 17:24
What do you get displayed by info() just after you loaded the video?
That information might be very helpful.
mantis2k
6th December 2006, 20:28
Logic's script below appears--on first impressions--to be producing good results with the 50p quicktime files.
BicubicResize(704,576)
Separatefields().Selectevery(4,0,3).Weave()
On first impressions, it seems something is seriously going wrong with Foxy's code on the 25p ASFs/WMV.
ConvertToYUY2()
SeparateFields().ConvertToYV12().Weave()
It doesn't even appear to be interlacing! And the sound goes out of sync big time...
Can somebody please provide a better code to interlace my progressive PAL ASFs?
scharfis_brain
6th December 2006, 23:00
@foxyshadis:
Scharfi, is there a simpler way of converting yv12 progressive into yv12 interlaced, with no other changes?
if you already got YV12 from your source, it DOES NOT matter whether it is YV12 interlaced or progressive. They are coexsistant within the same space.
there is no such conversion like yours needed!
foxyshadis
7th December 2006, 01:01
Logic's script below appears--on first impressions--to be producing good results with the 50p quicktime files.
On first impressions, it seems something is seriously going wrong with Foxy's code on the 25p ASFs/WMV.
It doesn't even appear to be interlacing! And the sound goes out of sync big time...
Can somebody please provide a better code to interlace my progressive PAL ASFs?
It'll work as-is. Progressive sources can be encoded interlaced with a minimum loss of efficiency. You don't have to make it look all combed for it to be interlaced. ;)
Scharfi, if the encoder flags a progressive YV12 segment as interlaced, won't the chroma be messed up on playback? Well, I guess for progressive segments you wouldn't actually be able to see it, since chroma detail is rarely so high-frequency.
scharfis_brain
7th December 2006, 06:49
if the encoder flags a progressive YV12 segment as interlaced, won't the chroma be messed up on playback?
No. Defininately not.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.