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. |
9th February 2019, 15:15 | #1 | Link |
Registered User
Join Date: Apr 2013
Posts: 346
|
Correcting Time compressed Sources
I currently have some NTSC DVD’s of several older TV shows that have been made from time compressed sources. I’d like to collect opinions on the best way to reverse this process for both video and audio (hopefully simultaneously with simple script), without affecting video quality. Although the amount of stretching will vary from show to show, it is generally in the area of 5-10%.
Searching on this subject has not left me with any good options that I can find. |
9th February 2019, 18:45 | #2 | Link |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,691
|
The technique you use will depend on what technology was used to shorten the shows.
You need to provide a clip. A clip's duration can be shortened by simply removing frames and then adjusting the audio to fit. The audio can either be pitched-corrected, or not. The duration can also be shortened by remapping every frame using motion estimation. This leads to much smoother results, but can introduce artifacts. Another technique is to use frame blending in place of the motion estimation. Each of these processes will require a different approach to undo. Many syndicated shows are simply edited to fit a new time slot. This was quite common with old shows. The usual candidates for this were the opening and closing credits and, in many cases, the entire intro. One of the great things when old TV shows were put on DVD or, more recently, became available for streaming, was to finally see them as they were originally broadcast, without those cuts. You obviously cannot restore footage that isn't there at all. As always, my recommendation is to look around and find better sources. I'd start with Amazon and Netflix. |
9th February 2019, 21:44 | #3 | Link | |
Registered User
Join Date: Apr 2013
Posts: 346
|
Quote:
There are no better sources, as this show was issued on DVD by the licensing studio and is time compressed from previous syndication targets, not edited by cutting. Unfortunately, this studio has no interest in doing anything more with this show. |
|
10th February 2019, 02:59 | #4 | Link | ||
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
Quote:
Quote:
Last edited by manono; 10th February 2019 at 03:02. |
||
10th February 2019, 18:16 | #5 | Link | |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,691
|
Quote:
The only reason I asked for a clip was to get some sense of which of the various compression methods were being used on the sections of the main show where compression was being used. Once you know the technique, you can devise the remedy; without that knowledge, any advice is useless. I posted, several years ago, a script that attempts to look for temporal gaps and then synthesizes a frame to insert at that point. If they are just simply dropping frames (which I have actually seen, so I know it is sometimes done that way), this script would work reasonably well and could be the beginning of a solution to something like this. It would definitely help. You'd then have to keep track of each frame number where a frame was inserted and feed that to some sort of audio stretching algorithm in order to keep the audio in sync. I don't know how to do that trick. If all the frames have been re-generated by motion estimation, there won't be any gaps and my script would be useless. Here's that post I referred to: Automatically fix dups followed (eventually) by drops The script is in post #6. Last edited by johnmeyer; 10th February 2019 at 18:20. Reason: Added reference at end to post number that contains the script |
|
10th February 2019, 19:40 | #6 | Link |
Moderator
Join Date: Oct 2001
Location: Hawaii
Posts: 7,406
|
That was directed at Danette. The comment was in no way meant to criticize what you wrote. I apologize for not being more clear. as I can see now where it's open for misinterpretation.
Oh, you've seen real frame drops? Me, I've only seen field drops. |
10th February 2019, 21:08 | #7 | Link |
Wanted Dead or Dead
Join Date: Apr 2008
Location: Phoenix, Arizona
Posts: 40
|
Daneete, I had to deal with this same problem a few months ago. I had two recordings of an old tv episode. One recording was time-sped, the other was normal speed. The timesped recording had much better video quality.
Comparing side-by-side audio segments from the two recordings indicated that the timesped recording had been sped up by exactly 15% by removing video frames and then resampling the audio so that it would run 15% faster, but with no change in pitch. My quick and dirty solution was to slow down the video by 15% by creating additional on-the-fly frames using a custom pattern of pulldown flags created with Donald Graft's DGpulldown utility. I also resampled the audio so that it would play 15% slower, but with no change in pitch. It was as if the timesped video had a frame rate of 25500/1001, but was being played back at the 15% faster frame rate of 30000/1001. I used DGpulldown to create a custom pulldown-flag pattern based upon the custom input frame rate of 25500/1001 and an output rate of 30000/1001. I used Besweet's Soundtouch option to resample the audio. For every 17 original audio samples, I needed 20. BeSweet -core( -input input.wav -output output.wav -2ch ) -soundtouch( -r 20 17 ) |
11th February 2019, 01:45 | #8 | Link | |
Registered User
Join Date: Feb 2002
Location: California
Posts: 2,691
|
Quote:
What I have found over the past twenty years of doing this is: Anything is possible. |
|
11th February 2019, 03:12 | #9 | Link |
HeartlessS Usurer
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
|
Can someone confirm,
When compressed by dropping fields, they are dropped in top/bottom or bottom/top pairs (even if not from same original frame pair, I guess they MUST be). So there are these (original pre drop) possibilities ('.' being missing field) Code:
t1 | t2 | . | t4 ------------------- TYPE A b1 | b2 | . | b4 t1 | t2 | . | t4 ------------------- TYPE B b1 | . | b3 | b4 t1 | . | t3 | t4 ------------------- TYPE C b1 | b2 | . | b4 And if TFF, then only types A or B could be present, if BFF then types A or C only. [possibly two types mixed if edited after time compression, or compression in pieces] All three types should never [legally] occur in a stream. [Otherwise as in DGIndex, "Illegal Field Order Transition"] EDIT: For Progressive Frames dropped, could try Duplicity/DropDeadGorgeous combo. Duplicity/DropDeadGorgeous:- What they can do. Duplicity: Creates dupe DBase for use by DropDeadGorgeous. You can use ChangeFPS to insert duplicate frames to same framerate as desired output (use dupes as markers when creating DBase). DropDeadGorgeous: Searches for duplicate, then on finding dupe, scans to at most "ScanAhead" frames prior to dupe looking for frame with biggest difference from its predecessor. [Dupe or SceneChange curtails big diff scan distance] Interpolate at biggest diff frame and move along one, the frames between big diff (inclusive) to the frame before the dupe, this sqeezes out the dupe and inserts an interpolated frame where biggest diff is found. Advantage: All non dupe original frames are kept verbatim in output. Code:
Locate Dupe, scan prior to dupe to find biggest diff, interpolate at big diff and relocate frames following bigdiff along to squeeze out the dupe. 12345678 IN: Where 7 is Dupe, and diff 2->3 is Big (B) | | B D 12I34568 OUT: Interpolates 2->3 (I), relocates (R) following frames along one place to squeeze out the dupe (dupe frame 7 gone). ||||| IRRRR Code:
12345678 IN: Multiple consecutive dupes=2(M), Where 6 & 7 are Dupe, and diff 2->3 is Big (B) | || B DD 12II3458 OUT: Interpolates 2(M) frames(I, 2->3 as interp source), relocates (R) following frames along 2(M) places to squeeze out the dupes (dupe frames 6 & 7 gone). ||||| IIRRR
__________________
I sometimes post sober. StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace "Some infinities are bigger than other infinities", but how many of them are infinitely bigger ??? Last edited by StainlessS; 11th February 2019 at 12:45. |
11th February 2019, 14:28 | #10 | Link |
Registered User
Join Date: Mar 2017
Location: Germany
Posts: 234
|
We have good experiences with TFM / TDecimate, mode 2 by specifying a framerate. If you have a second source with bad picture quality but correct timing you can calculate a pseudo-framerate (must be a bit higher) for TDecimate and later do assumefps(24000,1001), which slows it down finally.
If you don't have a reference source you can assume the pseudo-framerate by trial and error. This worked very well for several series where we had this problem. |
Thread Tools | Search this Thread |
Display Modes | |
|
|