Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > General > Subtitles

Reply
 
Thread Tools Search this Thread Display Modes
Old 27th March 2004, 02:09   #1  |  Link
atropos
Registered User
 
Join Date: Jul 2003
Posts: 116
Drop frame/Non-drop frame

Could someone explain in more depth about drop frame/no drop frame subtitles and when and how to apply them correctly.

Thanks,
atropos
atropos is offline   Reply With Quote
Old 20th April 2004, 19:51   #2  |  Link
Jackinbox
Registered User
 
Join Date: Apr 2004
Posts: 4
I would love to know about this also. I have a DVD with subs not in sync, made from DVD-Lab Pro. They start out fine and gradually get worse and worse until the end of the film where they are off by about 5 secs or so. I believe this is "Drop Frame" related but I have no idea how to rectify this problem.
Jackinbox is offline   Reply With Quote
Old 20th April 2004, 20:43   #3  |  Link
Dimmer
Registered User
 
Join Date: Aug 2003
Posts: 883
Quote:
Originally posted by Jackinbox
I would love to know about this also. I have a DVD with subs not in sync, made from DVD-Lab Pro. They start out fine and gradually get worse and worse until the end of the film where they are off by about 5 secs or so. I believe this is "Drop Frame" related but I have no idea how to rectify this problem.
Well, I know how to fix the problem in general, not specifically in DVD-Lab. In whatever script used to store subtitle timestamps (sst, srt, ssa, and so on), you have to adjust the timing to make them run faster or slower by 0.1% (difference between 29.97fps and 30 fps) depending on whether the subtitles are early or late. However, it would be great if someone could give a proper scientific explanation regarding this issue.
Dimmer is offline   Reply With Quote
Old 23rd April 2004, 00:49   #4  |  Link
McPoodle
Registered User
 
Join Date: Apr 2002
Location: Sacramento, CA
Posts: 182
I can answer the original question, although I don't know much about DVDLab Pro and whatever subtitle format it uses (SubViewer 2?).

NTSC video runs at a rate of 29.97 frames per second (the exact rate is 30 divided by 1.001, or 29.97002997002997002997002997...). The odd number was necessary so that old North American TV's would never run into the problem of a frame rate precisely in or out of sync with the frequency of the AC current (60 MHz), if I remember correctly.

The early mechanical devices used to record videotape could not handle fractional framerates, so the solution was to run the clock at 30 frames per second (too fast), and then drop certain frames from the clock to "catch up". The rule was to drop the first two frames of every minute that was not evenly divisible by 10 (so 00:05:59;29 would be followed by 00:06:00;02, but 00:19:59;29 would be followed by 00:20:00;00). This was called a "drop-frame" timebase. By the way, using that semicolon between the seconds and the frames is the general convention for drop-frame.

Nowadays, electronic recording devices can easily handle fractional framerates, so "nondrop-frame" timebase is used when no frames are dropped.

Timecodes are encoded into MPEG files, which is how they are indexed and how other assets, such as AC3 files and subtitles, are all lined up. The MPEG also includes a "drop flag", to tell the world which timebase to use. If the assets all use the same timebase (either one), everything will be OK, but if for example the subtitle was timed an AVI file in nondrop-frame timebase and the AVI was then encoded to MPEG as drop-frame, the mismatch will cause the subtitles to drift (the subtitles would be too fast in this case; reversing the scenario would cause them to be too slow). It's possible to have an audio-video mismatch from the same cause.

I looked at the webpage for DVDLab, and it appears that it includes a tool called "MPEG Parse" that will tell you the "Drop flag", so you'll know what timebase the MPEG has (I believe it's safe to say that any subtitle is probably nondrop-frame by default). Also, I think the free version of Bitrate Viewer will tell you the timebase.

You have a number of options to fix this problem. Some subtitle formats (but not SubViewer 2) allow you to state at the top of the file if the timecodes are drop-frame or nondrop-frame. Some DVD authoring programs have an option to ignore timebase or something like that (Maestro's option is rather cryptic). The Pulldown program includes the option to change the drop flag of an MPEG file (I believe the options would be "-nopulldown -dropframe true" [or false]), but then you might run into trouble syncronizing with the audio (and I don't know how to change the timebase for audio files). Perhaps Dimmer's 0.1% slowdown/speedup of the subtitle file is the best solution.
McPoodle is offline   Reply With Quote
Old 23rd April 2004, 01:10   #5  |  Link
scharfis_brain
brainless
 
scharfis_brain's Avatar
 
Join Date: Mar 2003
Location: Germany
Posts: 3,653
McPoodle: where can I find more about this NTSC phenomenon?
(frame-drop timabase etc.)
__________________
Don't forget the 'c'!

Don't PM me for technical support, please.
scharfis_brain is offline   Reply With Quote
Old 24th April 2004, 06:26   #6  |  Link
McPoodle
Registered User
 
Join Date: Apr 2002
Location: Sacramento, CA
Posts: 182
I got my understanding of drop vs non-drop from Doom9 member SomeJoe. Looking for more formal documentation, I came across two good links:

What that second link taught me is that I got my rationale for drop-frame and non-drop-frame wrong: drop-frame doesn't exist because of equipment that couldn't count 29.97 frames per second, but because of the obvious fact that frames are displayed as integers: 00:00:01;00 (or 00:00:01:00) is not 30 frames, but actually 29.97 frames. Non-drop-frame increments the seconds counter every 30 frames, which means it will gradually drift away from the true time, so that a non-drop-frame timecode of 01:00:03:18 represents exactly one hour of real time (108 frames fast). Drop-frame timebase, by dropping those frames every minute but the tenth, results in a clock that drifts back and forth, but on average is accurate (at most 1.8 frames off of real time at any instant)--01:00:00;00 is exactly one hour of real time in drop-frame timebase.

For programming, the key I discovered for converting drop-frame to a framecount was to split the number of minutes into "single minutes" and "tens of minutes". To convert an NTSC timecode into an accurate framecount, follow these rules:
[list=1][*]Each hour is 108000 non-drop frames (30 * 60 * 60) or 107892 drop frames (drop 108 frames). In real time, each hour is 107892.108 frames.[*]Each "deci-minute" is 18000 non-drop frames (30 * 60 * 10) or 17982 drop frames (drop 18 frames, or 2 frames for nine out of every ten minutes). In real time, 10 minutes is 17982.018 frames.[*]Each "single-minute" is 1800 non-drop frames (30 * 60) or 1798 drop frames (drop 2 frames for every minute, or 0 frames when multiplying by 0). In real time, a minute is 1798.202 frames.[*]Each second is 30 frames (both timebases), or 29.970 frames real-time.[/list=1]

For example, 02:34:17:12 (non-drop-frame) is 277722 frames, while 02:34:17;12 (drop-frame) is 277444 frames (in real time, 2 hours 34 minutes and 17 seconds, plus 12 frames, is 277444.567 frames). Running the calculation in reverse, 02:34:17:12 in non-drop-frame is the same framecount as 02:34:26;20 in drop-frame (or 2 hours 34 minutes 26 seconds and 19.702 frames real-time).
McPoodle is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 12:31.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.