# 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.

Statistics