# If capture card says input is certain HZ, what should recording FPS be?

1. I'm new to capturing, and I'm doing some test records using my "Magewell Pro Capture HDMI Card (1-Channel)".
The programs I'm using to record are OBS & Xsplit Broadcaster.
My sources are usually fiction content from my cable STB or the BluRay player.
My ultimate aim is to have content easily playable on my HTPC using MPC-HC/MadVR.

So when I pipe in HDMI video to OBS/XSplit for recording...
My capture card properties has a section which provides "Input" details...one of which is the "HZ" being sent from my source.
From my cable STB, I usually get something like "59.9? HZ".
From my BluRay player, I usually get something like "23.9?" HZ.

In my OBS/XSplit settings, I must set an FPS recording value.
This is where I'm confused.

For best recording results...am I supposed to match up the HZ input to the FPS recording output exactly?
- 60 HZ input = 60 FPS recording output
- 59 HZ input = 59 FPS recording output

Or can I use lower FPS with higher input HZ?
- 59 HZ input = 29 FPS recording output
- 60 HZ input = 30 FPS recording output

[EDIT: I have removed the paragraph that originally appeared here, so as to not prejudice answers.]

P.S. My HTPC graphics card has both 60 HZ & 59 HZ display options. I have currently have it set to 59 HZ. I'm not sure if this information is useful or not.
2. "HZ" means "cycles-per-second" and sometimes (speaking loosely, or perhaps pretentiously) "frames-per-second." They mean the same thing.
https://en.wikipedia.org/w/index.php?title=Hz

The hertz (symbol Hz) is the unit of frequency in the International System of Units (SI) and is defined as one cycle per second. It is named for Heinrich Rudolf Hertz, the first person to provide conclusive proof of the existence of electromagnetic waves.
You may use exactly 1/2 the number if you want (59.94 ~= 60000/1001; 29.97 ~= 30000/1001); lightning will not strike you down. Although you should know it is a sin
3. First, note that 59 Hz usually means 59.94 Hz, the NTSC frame or field rate. And 29.97 fps interlaced video is often called 59.94i -- that's just a nomenclature difference (they're using the field rate, not the frame rate).

Normally you want to record at the same frame rate as the source. If you record a 59.94p source at 60 fps you will get 1 duplicate frame every 17 seconds or so. Conversely, if you record a 60p source at 59.94 fps you will be missing one frame every 17 seconds. If you record a true 59.94p source at 29.97 fps you will lose half the temporal resolution. Motion will be less fluid and the picture will flicker a bit.
4. Originally Posted by jagabo
Normally you want to record at the same frame rate as the source. If you record a 59.94p source at 60 fps you will get 1 duplicate frame every 17 seconds or so. Conversely, if you record a 60p source at 59.94 fps you will be missing one frame every 17 seconds. If you record a true 59.94p source at 29.97 fps you will lose half the temporal resolution. Motion will be less fluid and the picture will flicker a bit.
Thank you for mentioning "duplicate frame"! I'm having a problem with this.

My cable STB can be set to either 1080p or 1080I.
If I set it to 1080p, my capture card properties indicates the source is 59.95 HZ (which I will record at 59.95 FPS).
If I set it to 1080I, my capture card properties indicates the source is 29.97 HZ (which I will record at 29.97 FPS).

The problem is that all my resulting recordings have repeated frames every few seconds.
I am noticing this problem in both OBS & XSplit recordings.
5. Originally Posted by jaibubwan
My cable STB can be set to either 1080p or 1080I.
If I set it to 1080p, my capture card properties indicates the source is 59.95 HZ (which I will record at 59.95 FPS).
If I set it to 1080I, my capture card properties indicates the source is 29.97 HZ (which I will record at 29.97 FPS).
That's correct, assuming the cable signal is broadcast at 1080i29.97. Each frame of interlaced video contains 2 fields. Each field becomes a frame when deinterlaced correctly, so 1080i29.97 should become 1080p59.95.

Originally Posted by jaibubwan
The problem is that all my resulting recordings have repeated frames every few seconds.
I am noticing this problem in both OBS & XSplit recordings.
Much of the content shown on cable is shot at film speed, 24 fps, and frames are repeated when the video is telecined for broadcast. See 2:3 pulldown for an explanation. The main exception is live events, like sports, where every frame containing a moving subject is unique.
6. Originally Posted by usually_quiet
Much of the content shown on cable is shot at film speed, 24 fps, and frames are repeated when the video is telecined for broadcast. See 2:3 pulldown for an explanation. The main exception is live events, like sports, where every frame containing a moving subject is unique.
Ahhh! Yes, I noticed that my sports recordings had no repeated frames (whereas the fiction content did).
Thanks to your explanation, I understand why.

This maybe getting into tricky territory...
But I notice all the fiction content "downloaded" from the internet (also labelled as "HDTV" source, and seems to be captured) doesn't seem to have this repeated frames problem.
Is that because different hardware is used? Or perhaps some correction is applied?

EDIT: I also notice these downloaded videos seem to be 24 fps. Something I'm not able to achieve with my STB/TV/Capture hardware.
7. Originally Posted by jaibubwan
This maybe getting into tricky territory...
But I notice all the fiction content "downloaded" from the internet (also labelled as "HDTV" source, and seems to be captured) doesn't seem to have this repeated frames problem.
Is that because different hardware is used? Or perhaps some correction is applied?
Because it's already been decimated to 23.976 fps (or 25 FPS for PAL). Or it came from a system (blu-ray?) that already supports 23.976 fps.
8. Originally Posted by jagabo
Because it's already been decimated to 23.976 fps (or 25 FPS for PAL). Or it came from a system (blu-ray?) that already supports 23.976 fps.
Yes, I overlooked that these downloaded videos have 23 to 25 FPS.
If those videos are "decimated", and that is meant to imply degradation...I find the downloaded videos look very natural & smooth.
Whereas if I were to tinker with OBS/Xsplit & set them to 23-24 FPS...it looks very choppy for the reasons you mentioned earlier.

My TV was a cheap 55" Hanspree that was purchased almost a decade ago.
I attached the video timing information as an image. It doesn't seem to support 23-25 in any way/shape/form. Only 60.
I wonder if my R*gers cable STB might output 23-25 FPS if I upgraded my TV?
9. Originally Posted by jaibubwan
Yes, I overlooked that these downloaded videos have 23 to 25 FPS.
If those videos are "decimated", and that is meant to imply degradation...I find the downloaded videos look very natural & smooth.
Whereas if I were to tinker with OBS/Xsplit & set them to 23-24 FPS...it looks very choppy for the reasons you mentioned earlier.
It usually isn't done with simple frame decimation. Hard-telecined 29.97 fps video is usually restored to 23.976/24 fps with a script that performs detelecining to avoid choppiness.

Originally Posted by jaibubwan
My TV was a cheap 55" Hanspree that was purchased almost a decade ago.
I attached the video timing information as an image. It doesn't seem to support 23-25 in any way/shape/form. Only 60.
I wonder if my R*gers cable STB might output 23-25 FPS if I upgraded my TV?
Probably not. 1920x1080 broadcasts in Canada are 1080i29.97. The cable box is not likely to have the ability to de-telecine broadcasts.
10. Originally Posted by usually_quiet
Hard-telecined 29.97 fps video is usually restored to 23.976/24 fps with a script that performs detelecining to avoid choppiness.
Is there any software that can perform this on a video?
I googled the term "detelecine" & a software called "HandBrake" appears in the result.
It seems to have "detelecine" as an option for video processing.
11. Originally Posted by jaibubwan
Originally Posted by usually_quiet
Hard-telecined 29.97 fps video is usually restored to 23.976/24 fps with a script that performs detelecining to avoid choppiness.
Is there any software that can perform this on a video?
I googled the term "detelecine" & a software called "HandBrake" appears in the result.
It seems to have "detelecine" as an option for video processing.
Yes HandBrake has a detelecine option, but an Avisynth script might be worth investigating anyway.

Although I know about the existence of detelecining, I have not felt the need to use it. I'm fine with 1080i29.97 fps. jagabo knows much more than I do about using Avisynth for detelicining.
12. Originally Posted by usually_quiet
Although I know about the existence of detelecining, I have felt the need to use it. I'm fine with 1080i29.97 fps. jagabo knows much more than I do about using Avisynth for detelicining.
I've just done a few random tests with HandBrake.
I wouldn't take the following observations to be scientific, but rather my initial impressions.

It was hit & miss, having HandBrake processing interlaced recordings (Source: 1080I, 29.97 HZ. Recorded at: 29.97 FPS).
Some videos had great results losing their repeated frames and playing at a new 23.976 FPS.
While others seemed to retain some form of repeated frames.

I've had consistent success processing non-interlaced (progressive?) recordings (Source: 1080p, 59.95 HZ. Recorded at: 59.94 FPS).
Each frame seems to be unique, at least in my "frame by frame" checks.
And superficially, I don't get the "this looks off" feeling I got watching the untreated source videos.

One thing I don't like about HandBrake is that there are so many options to set.
There's no clear way to match up the video or audio quality...which ends up either over or under the source video.
Ideally, I'd just like "detelecine > default" option applied...and perhaps a new "23.976 FPS" depending on the source.
But as I said before, there's promise here & some improvement visually.
13. Film has always (except for very early films and some special projects) been shot at 24 fps. Broadcast analog interlaced NTSC TV has always been at 60 fields per second (aka 30i) (I'm going to use 60 and 30 instead of 59.94 and 29.97 for simplicity). Modern digital NTSC broadcasts are at 60 frames per second (720p) or 60fields per second (1080i). When films are broadcast at 60 fps they repeat film frames (fields) in a 3:2 (or 2:3, or sometimes other) repeat pattern. Thus 24 film frames becomes 60 video frames (or fields). Pretty much every movie you have ever seen on TV has had this type of frame/field duplication.

When decimating 60 fps video back to 24 fps film frames you have to pick the correct frames. Suppose you have a pattern like:

Code:
`AABBBCCDDDEEFFF`
You might chose to select the first and third frames out of every five

Code:
```AABBBCCDDDEEFFF
A B  C D  E F```
All is good. You have all the original film frames with no duplicates. But what if your capture has this pattern:

Code:
`AAABBCCCDDEEEFF`
Now if you pick the first and third frames you get:

Code:
```AAABBCCCDDEEEFF
A A  C C  E E```
Not only do you have duplicate frames but your are missing half the original film frames. And there are often breaks in the duplication pattern (the film may have been edited after being telecined, there's no guaranty the pattern will be in the same phase after ad breaks, etc.) So a proper decimation algorithm needs to examine the contents of the frames in order to determine which ones to keep and which ones to throw out.

In my experience Handbrake's detelecine doesn't always work correctly. And realtime decimation by capture software doesn't adjust to the duplicate patterns. The gold standard is to use AviSynth's TFM() and TDecimate() filters.
14. Originally Posted by jagabo
In my experience Handbrake's detelecine doesn't always work correctly. And realtime decimation by capture software doesn't adjust to the duplicate patterns. The gold standard is to use AviSynth's TFM() and TDecimate() filters.
Jeez Louise! AVISynth looks pretty complicated.
I installed the program & installed the "TIVTC" plugin found here:
http://avisynth.nl/index.php/TIVTC

But now my head is spinning, because I can't figure out how to use the program or plugin.

Any chance you can give me a walk-through on applying the "gold standard" to MP4 videos?
15. AviSynth works with plain text scripts. You should get the LSMash source plugin to work with MP4 files. Then you create a script that looks something like:

Code:
```LSmashVideoSource("filename.mp4")
TFM() # if your source is 29.97 fps interlaced, if you source is 59.94p use SelectEven() here instead
TDecimate() # 29.97 fps to 23.976 fps```
You can use Notepad to create the script -- be sure to save it with .AVS as the extension, not .TXT. Then you open the AVS file as if it was a video in any editor or encoder that supports AviSynth scripts. I use VitualDub to view the results of my scripts (File -> Open Video File). Then I encode using the x264 command line encoder.

Some people like to use AvsPMod to create/edit their scripts. It helps you out a bit.

16. Originally Posted by jagabo
Then I encode using the x264 command line encoder.
I didn't want to bother you by asking for "x264 command line" instructions.
So I tried using the programs MeGUI & XMedia Recode.

When I load the AVISynth "avs" into either of those programs, they don't load any audio.
They only output converted video (which does look good, with seemingly removed repeated frames & proper motion).
Unfortunately, the audio is always missing.

Could I have made some mistake with the AVISynth code? This is what I used in my AVS file:
Code:
```LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4")
SelectEven()
TDecimate()```
17. To all,

I stumbled upon an absolutely amazing software called "Hybrid".
It includes the "TIVTC" feature (including "decimation" etc.) as an option within its GUI.
It's the exact same stuff jagabo was explaining to me a few posts back.
The difference being that: instead of messing with code & text files...you can set it all via GUI.

As a newb, what I appreciated the most were the program's detailed explanations of every option (appears via hover).
And boy does this software have options...it's like HandBrake...but slightly more granular.
While most of it goes over my head, I think even a pro would appreciate how it's all available & laid out.

Anyways, I tested a few videos...and unlike "MeGUI/XMedia+AviSynth"...I had NO audio problems with Hybrid.
The videos were restored to that pretty 23 framerate.
The repeated frames that gave me headaches are gone.
Nothing looked off or concerning.

Obviously, I still have to learn what all the options in "TIVTC" actually mean...and in what context they should be used.
But just using the default settings...I see such promising results.

Again, this life-saving program is called "Hybrid":
https://www.videohelp.com/software/Hybrid
18. As the name implies LSmashVideoSource() loads video. You need to use LSmashAudioSource() to load audio, then combine them.
Code:
```a=LSmashAudioSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4")
v=LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4")
AudioDub(v, a)
SelectEven()
TDecimate()```
19. Originally Posted by sneaker
As the name implies LSmashVideoSource() loads video. You need to use LSmashAudioSource() to load audio, then combine them.
Code:
```a=LSmashAudioSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4")
v=LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4")
AudioDub(v, a)
SelectEven()
TDecimate()```
Thanks for filling in the gaps Sneaker!
I will test this out later today & report back.
20. Hey guys, although I've advanced...I feel like I've hit another confusing roadblock. Any help appreciated.

Please check out the sample videos I've attached to this post.
They're live capture samples. The source was from a cable STB set to 1080p, with capture card indicating 59.95 HZ.
"Sample 1.mp4" was recorded at 29.97 fps using OBS.
"Sample 2.mp4" was recorded at 59.94 fps using OBS.

What I have not attached are the results from my AviSynth & HandBrake conversions.
I'm having a hard time in that department.

Since these were samples from a film broadcast, I thought they would be good candidates for "TIVTC" treatment.
Unfortunately, after I ran these samples through "TIVTC": the resulting output videos were jerky.
I also converted these using "HandBrake" with "detelecine/23.967 fps" and got similar jerky results.

Here are the various AviSynth scripts I've tried, which produce jerky outputs:

Code:
```a=LSmashAudioSource("Z:\DataBase\Capture\-- AVISynth --\SAMPLE 1.mp4")
v=LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\SAMPLE 1.mp4")
AudioDub(v, a)
TFM(slow=2)
TDecimate()```
Code:
```a=LSmashAudioSource("Z:\DataBase\Capture\-- AVISynth --\SAMPLE 1.mp4")
v=LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\SAMPLE 1.mp4")
AudioDub(v, a)
TFM(slow=2)
TDecimate(hybrid=1)```
Code:
```a=LSmashAudioSource("Z:\DataBase\Capture\-- AVISynth --\SAMPLE 1.mp4")
v=LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\SAMPLE 1.mp4")
AudioDub(v, a)
SelectEven()
TDecimate()```
Do you guys have any opinions on how I should deal with videos like my samples?
21. The movie is running too fast. (~5.5%)
22. Sample #1 does not use pulldown. One frame out of six is merely duplicated, a conversion from 25 to 30 fps. TDecimate(cycle=6) should take care of it.
23. Originally Posted by sneaker
The movie is running too fast. (~5.5%)
Sorry, I'm not sure how to respond to this. A little out my depth on this topic.
Is there anything that can be done on my end?
Any idea what the cause could be? (ie. The feed itself from the STB?, The capture card?, The fps recording setting in OBS?, The AviSynth script?, etc.)

Originally Posted by JVRaines
Sample #1 does not use pulldown. One frame out of six is merely duplicated, a conversion from 25 to 30 fps. TDecimate(cycle=6) should take care of it.
I tried your suggestion for "Sample 1", and it seemed to work!
Also that "cycle" command will come in handy whenever I notice a single uncomplicated pattern.

Would you have a suggestion for "Sample #2"?
I notice it has a more complicated frame repeat pattern.

But more importantly, I interpreted previous advice in this topic as recommending Sample 2's record setting of "59.94 fps" for my "59.95 hz" input source.
So I was assuming my future recordings would be more like Sample 2, than Sample 1.
24. Those clips were broadcast from a 25 fps source telecined to 29.97i. In all liklihood the studio provided a 25 fps PAL master to AMC and AMC telecined it.

The first one has a pretty irregular duplicate pattern, some blended frames, and imperfect deinterlacing. Probably mediocre deinterlacing by the STB. TDecimate(Cycle=30, CycleR=5) gives a fairly smooth 24.975 fps video. You convert that to 25 fps with ChangeFPS(25) but there will still be an occasional missing frame and an occasional duplicate frame.

The second clip seems needs to have more frames removed, something like TDecimate(Cycle=24, CycleR=14). Again that leaves you with 24.975 fps.

Sneaker is recommending that you slow the video from 24.975 (or 25, if you work a good method to get 25 fps) to 23.976 fps with AssumeFPS(24000,1001). But then you'll need to adjust audio length to match.

As I said earlier, you would be best off capturing the signal that was broadcast, 29.97 fps interlaced. I don't know if OBS can deal properly with that.
25. sync_audio=true will take care of the audio in AssumeFPS, won't it?
26. Originally Posted by jagabo
As I said earlier, you would be best off capturing the signal that was broadcast, 29.97 fps interlaced. I don't know if OBS can deal properly with that.
I'm sort of confused on that point.

I understand setting my STB to its 1080I option, which clearly has an effect on my capture card (which then displays 29.97 HZ as the "Timing - frame rate" value).

The problem comes after that.

1) My capture card has a mandatory "deinterlace" setting. In this context, I'm not sure which to choose:
- Weave
- Blend Top & Bottom Field
- Top Field Only
- Bottom Field Only

2) Are you suggesting that my recording should end up as an interlaced video?

I'm not sure OBS can do that. I tracked down this support topic from the forum. I interpret it to mean they can't:

I think XSplit Broadcaster is the same. I have the paid version, but can't find any interlaced recording setting.
And no matter what I set, the recordings end up as "progressive" (as identified in MediaInfo & Hybrid analyzers).

3) Do you know any alternative capture recording software - that could record in the manner you suggest?
This was MageWell's list of compatible software for my card:
Any other DirectShow/V4L2 encoding/streaming software
Amcap
Camtasia Studio
Discover Video Multimedia Encoder
Discover Video Streamsie
Gotomeeting
Graphedit
GrandVJ
Metus Ingest
Microsoft Lync
OBS Classic
OBS Studio
Panopto
Presentations 2Go
Quicktime Player
Real Producer Plus
Resolume
Skype
Streambox
Streamstar
UltraGrid
Vidblaster
Video Stitch
Vidyo
VirtualDub
VLC
Vmix
Watchout
Windows Media Encoder
Wirecast
XSplit Gamecaster
Zoom.us
27. Originally Posted by jaibubwan
1) My capture card has a mandatory "deinterlace" setting. In this context, I'm not sure which to choose:
- Weave
- Blend Top & Bottom Field
- Top Field Only
- Bottom Field Only
Choosing 'Weave' should get you the interlaced 29.97fps you want.

2) Are you suggesting that my recording should end up as an interlaced video?
I can't speak for jagabo, but I'd certainly suggest that. Then you can use an AviSynth (IVTC) filter to get it back to the way it should be.
28. Originally Posted by manono
Choosing 'Weave' should get you the interlaced 29.97fps you want.
Can you check the samples I attached to these posts?
I recorded these with the capture card set to "Weave".
I also set both OBS & XSplit to "1920x1080 - 29.97 fps".
OBS has no obvious deinterlace option. XSplit has a "force deinterlace" option which I unchecked.

In the preview windows of these two capture programs, I could see the lines that you'd typically associate with interlaced content.
But in the sample videos, I see ghosted motion.
And video analysis apps indicate they are "progressive".

Unless i'm wrong, I think this confirms OBS & XSplit can't capture to an interlaced video.
29. I agree with manono. I know VIrtualDub or AmaRecTV can capture interlaced.

Better yet, get the Blu-ray disc and rip that. You'll get a far better video.
30. OBS looks like telecined interlace to me. You really can't trust MediaInfo and the like in this regard. Open the file in VirtualDub FilterMod and apply the Deinterlace/Unfold Fields Side-by-Side filter and then step through the frames. It becomes obvious.

Statistics