As described in this post: https://forum.videohelp.com/threads/418048-Capturing-via-GV-USB2-in-correct-frame-rate...nd#post2772269
I'm trying to make sure that my raw captures are suitable for encoding.
My current setup is: Japanese VCR -> GV-USB2 -> Amarec
I reinstalled GV-USB2 drivers (after device issues) and now the correct frame rate option doesn't appear in Amarec, it shows 59.94 fps rather than 29.94. (All interlaced captures). I now have a workaround for this (manually entering in the correct frame rate into the box).
As a result I have captured 3TB of 50+ hours of footage in the wrong frame rate. Recapturing everything correctly will take a lot of time. Prior to this, all was captured fine in 29.94. Something happened inbetween.
Is there a way I can convert this existing 59.94 interlaced to 29.97 interlaced? This would save me from recapturing.
In terms end goal, I want all my footage to be converted to 59.94 to achieve that buttery smooth look. Another issue I'm struggling with is encoding workflow: https://forum.videohelp.com/threads/417773-Best-Hybrid-settings-for-encoding-broadcast-vhs-captures
(I generally just want to convert my captures to 59.94, soft noise reduction, correct aspect ratio, compressed to reduce space).
+ Reply to Thread
Results 1 to 30 of 30
-
-
If the software converted by duplicating each frame -- you can simply discard every other frame to convert back to 29.97 fps. Post a short sample for analysis.
-
-
Your device/software captured at 59.94 frames per second by pairing fields but also duplicating fields:
Code:01 12 23 34 45 56 67...
You can simply discard every other frame to get a proper 29.97 fps interlaced file. Either:
Code:01 23 45 67...
Code:AviSource("Sample59.94fps.avi") SelectEven() AssumeTFF()
-
Thanks very much I'll have a go at this
I used Virtualdub incorrectly to produce the sample. Please see attached new sample using Avidemux -
Good, you captured correctly as YUV 4:2:2. You can get a little more detail in the brights with something like ColorYUV(gain_y=-20).
-
-
It doesn't look right to me - assuming that this source was originally interlaced video rather than PsF (progressive)? You seem to have discarded one field. Deinterlacing it to 59.94 fps doesn't recreate the missing field of true interlaced video but rather returns duplicated frames.
Also, why RGBA instead of YUV?
Maybe upload a sample of the original capture so someone can analyze this source.Last edited by Sharc; 14th Apr 2025 at 17:58.
-
For the first sample "Sample59.94Fps V2.avi" I have applied the avisynth script to produce "Sample59.94Fps V2 FrameFix.avi" and then encoded "Sample59.94Fps V2 FrameFix_Encoded.mp4" which looks decent.
For the second sample "A003Sample.avi" I applied the avisynth script to produce "A003SampleFrameFix.avi" and then encoded to "A003SampleFrameFix_Encoded.mp4" which doesn't look great.
Both use the same settings in Handbrake. Any idea what's went wrong? -
-
The problem stems from the fact that the field order alternates between TFF and BFF in your 59.94i clips. Which it starts with depends on where you cut in on the clip (and maybe where the capture device/software started).
Take an interlaced broadcast where fields are broadcast sequentially (there are no frames in an interlaced broadcast):
Code:A b C d E f G h
A normal 29.97i capture would simple pair fields together into frames:
Code:Ab Cd Ef Gh
Your 59.94i captures did this:
Code:Ab bC Cd dE Ef fG Gh
Code:bC Cd dE Ef fG Gh
Last edited by jagabo; 15th Apr 2025 at 12:56.
-
-
So what you're basically saying is that I should recapture. I'm glad I have a definitive answer but I still have some questions.
These tapes contain a mix of anime programs including commercials. Is it likely that they are all interlaced, or would it be likely to have telecine (because of the animation)?
Is it possible that I can convert one 6 hour video using the same encoding setting? I'm looking for recommendations to have each tape encoded in one swoop. I'd like to use QTGMC as it's regarded as one of the best filters for encoding.
Could the field order swap within the content within the tape itself, or is the field order only established within in the video capture?Last edited by waxstone; 16th Apr 2025 at 05:32.
-
Your question was why the A003 in post#10 are worse compared to the other 59.94fps captures.
If the only issue of your capture is the 59.94fps framerate but are otherwise ok you can solve the framerate problem with jagabo's script - as you have done already. If however there are additional issues like with your A003 capture you should think about a re-capture (adjust the tracking, maybe use a better VCR, maybe the tape is just in poor condition etc.).
There is no "one for all" script. Start with a decent capture, analyze it and then develop and apply a script as necessary. -
Okay I understand, so the does work correctly with no need for recapture? I misinterpreted what you had said.
Unfortunately the capture is of lower quality, it is a very old tape. I'm however using the best settings. To add, it was recorded in LP mode which afaik does have an impact on quality. The content has never been preserved before this.
I guess my main question then is how should I approach encoding as mentioned above. Should I split it into further segments using Avidemux? It's tricky. -
Not necessarily, but I don't know what mix and glitches you have in your 6 hours tape capture ....
On material like your post#5 attachment you can try a script like
Code:ffms2("Sample59.94fps_v2.avi") #or use your preferred source filter crop(12,0,-12,-6) Selecteven() AssumeTFF() separatefields().vinverse().weave() #reduces residual combing QTGMC(preset="fast") colorYUV(gain_y=-20) mcdegrainsharp() # or a denoiser of your choice .... addborders(4,2,4,4)
Last edited by Sharc; 16th Apr 2025 at 07:10. Reason: File attached
-
I've been able to replicate this for the sample provided (except denoiser, i'll sort that another time), thanks for the scripting.
I'm going to extract some small samples of each recorded program using avidemux and then try to interpret field order.
Bit of a headache, do you have any recommendations for software to easily comb through and detect field order? Other than frame capture drop outs, is there anything else that can cause a field to swap order during a mixed recording and is it common? -
In Avisynth apply the script:
Code:<your source filter here> AssumeTFF() SeparateFields() AssumeFPS(2) #for slow motion playback
For true interlaced video:
- if the motion advances look "natural" the video is TFF (TopFieldFirst) as assumed by 'AssumeTFF()'.
- if the motion is jerky backwars-forwards-backwards-..... the video is BFF (BottomFieldFirst)
Other patterns you will get for telecined, PsF, phase switched, other oddities like your 59.94 captures as explained by jagabo, or progressive video. You can find more post in this forum for such cases.Last edited by Sharc; 16th Apr 2025 at 13:59.
-
I usually use something like:
Code:LWlibavVideoSource("filename.ext") AssumeTFF() Bob()
-
-
-
-
It's telecined. You need to IVTC (InverseTelecine) it.
Code:SelectEven() AssumeTFF() TFM().TDecimate() #returns 23.976 fps progressive frames
-
-
There's no point in making it 59.94 fps. That will not make the motion smooth. The original source only has 24 different frames per second. Actually, most cartoons are animated at 12 frames per second, with only panning done at 24 frames per second. Even if you use motion interpolation to create intermediate frames it will not be very smooth -- that type of interpolation doesn't work well with cartoons. You will get lots of blended frames and gross distortions.
Note: I haven't seen the latest clip yet as I'm not at home. I'm taking Sharc's word for it that it's 24 fps. -
-
Your NewSample2.avi is phase switched progressive video (captured at your 59.94fps).
You get progressive 29.97fps using
Code:SelectEven() #59.94fps->29.97fps AssumeBFF() TFM() #Field matching
Last edited by Sharc; 18th Apr 2025 at 15:18.
-
... and if you have in your 59.94fps captures a mix of true interlaced and telecined video it is probably easiest when you just bob-deinterlace it.
Code:selecteven() # 59.94fps -> 29.97fps AssumeTFF() #or AssumeBFF() QTGMC()
-
Title sequences are often very different from the main body of the show. Titles are often overlaid as 30i video or 30p video, regardless of the frame rate of the underlying show. You may often find that the underlying video is slowed or sped up to match the theme song -- so the pulldown may not be the standard 3:2 pattern.
Since it's likely your six hour long 59.94 fps caps aren't perfect (no dropped/inserted frames) the easiest thing for you to do is recapture the video at the proper 29.97 fps then double frame rate deinterlace with QTGMC() or maybe BWDIF() or Yadif(), and encode at 59.94 fps.
Similar Threads
-
Wrongly captured PAL VHS at 50fps... no chance to deinterlace?
By jbl_prof in forum Video ConversionReplies: 21Last Post: 1st Aug 2024, 05:05 -
23.97fps to 25fps
By ReggieRocket in forum Video ConversionReplies: 7Last Post: 3rd Jun 2022, 03:50 -
Deinterlacing wrongly encoded footage
By Xyena in forum Newbie / General discussionsReplies: 29Last Post: 1st Jun 2022, 05:34 -
help fixing 29.97fps video
By maudit in forum Newbie / General discussionsReplies: 19Last Post: 22nd Mar 2022, 01:18 -
Converting Frames to Milliseconds at 29.97fps
By koberulz in forum Newbie / General discussionsReplies: 10Last Post: 3rd Jun 2020, 23:18