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.
+ Reply to Thread
Results 1 to 30 of 50
Last edited by jaibubwan; 18th May 2017 at 18:54.
"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.
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.
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.
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.
Last edited by usually_quiet; 24th May 2017 at 21:51. Reason: Didn't correctly explain how frames are created for telecineIgnore list: hello_hello, tried, TechLord
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.
Last edited by jaibubwan; 24th May 2017 at 19:30.
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?
Ignore list: hello_hello, tried, TechLord
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.
Last edited by usually_quiet; 25th May 2017 at 00:59.Ignore list: hello_hello, tried, TechLord
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.
Last edited by jaibubwan; 25th May 2017 at 06:17.
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:
AABBBCCDDDEEFFF A B C D E F
AAABBCCCDDEEEFF A A C C E E
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.
I installed the program & installed the "TIVTC" plugin found here:
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?
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:
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
Some people like to use AvsPMod to create/edit their scripts. It helps you out a bit.
More info: http://avisynth.nl/index.php/Main_Page
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:
LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4") SelectEven() TDecimate()
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":
As the name implies LSmashVideoSource() loads video. You need to use LSmashAudioSource() to load audio, then combine them.
a=LSmashAudioSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4") v=LSmashVideoSource("Z:\DataBase\Capture\-- AVISynth --\Test 1.mp4") AudioDub(v, a) SelectEven() TDecimate()
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:
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()
Last edited by jaibubwan; 27th May 2017 at 17:47.
The movie is running too fast. (~5.5%)
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.
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.)
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.
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.
sync_audio=true will take care of the audio in AssumeFPS, won't it?
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:
- 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
Adobe Flash Media Live Encoder
Discover Video Multimedia Encoder
Discover Video Streamsie
Google Plus Hangouts
Meridix Broadcast Producer
Real Producer Plus
Windows Media Encoder
Last edited by jaibubwan; 27th May 2017 at 21:16.
2) Are you suggesting that my recording should end up as an interlaced video?
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.