VideoHelp Forum
+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 50
Thread
  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.
    Last edited by jaibubwan; 18th May 2017 at 19:54.
    Quote Quote  
  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
    Quote Quote  
  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.
    Quote Quote  
  4. Originally Posted by jagabo View Post
    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.
    Quote Quote  
  5. Member
    Join Date
    Aug 2006
    Location
    United States
    Search Comp PM
    Originally Posted by jaibubwan View Post
    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 View Post
    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.
    Last edited by usually_quiet; 24th May 2017 at 22:51. Reason: Didn't correctly explain how frames are created for telecine
    Ignore list: hello_hello, tried, TechLord, Snoopy329
    Quote Quote  
  6. Originally Posted by usually_quiet View Post
    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.
    Last edited by jaibubwan; 24th May 2017 at 20:30.
    Quote Quote  
  7. Originally Posted by jaibubwan View Post
    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.
    Quote Quote  
  8. Originally Posted by jagabo View Post
    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?
    Image Attached Thumbnails Click image for larger version

Name:	Untitled picture.png
Views:	306
Size:	73.3 KB
ID:	41698  

    Quote Quote  
  9. Member
    Join Date
    Aug 2006
    Location
    United States
    Search Comp PM
    Originally Posted by jaibubwan View Post
    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 View Post
    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.
    Ignore list: hello_hello, tried, TechLord, Snoopy329
    Quote Quote  
  10. Originally Posted by usually_quiet View Post
    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.
    Quote Quote  
  11. Member
    Join Date
    Aug 2006
    Location
    United States
    Search Comp PM
    Originally Posted by jaibubwan View Post
    Originally Posted by usually_quiet View Post
    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.
    Last edited by usually_quiet; 25th May 2017 at 01:59.
    Ignore list: hello_hello, tried, TechLord, Snoopy329
    Quote Quote  
  12. Originally Posted by usually_quiet View Post
    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.
    Last edited by jaibubwan; 25th May 2017 at 07:17.
    Quote Quote  
  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.
    Quote Quote  
  14. Originally Posted by jagabo View Post
    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?
    Quote Quote  
  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.

    More info: http://avisynth.nl/index.php/Main_Page
    Quote Quote  
  16. Originally Posted by jagabo View Post
    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()
    Quote Quote  
  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
    Quote Quote  
  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()
    Quote Quote  
  19. Originally Posted by sneaker View Post
    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.
    Quote Quote  
  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?
    Image Attached Files
    Last edited by jaibubwan; 27th May 2017 at 18:47.
    Quote Quote  
  21. The movie is running too fast. (~5.5%)
    Quote Quote  
  22. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    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.
    Quote Quote  
  23. Originally Posted by sneaker View Post
    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 View Post
    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.
    Quote Quote  
  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.
    Quote Quote  
  25. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    sync_audio=true will take care of the audio in AssumeFPS, won't it?
    Quote Quote  
  26. Originally Posted by jagabo View Post
    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:
    https://obsproject.com/forum/threads/question-about-capturing-interlaced-source.66910/

    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
    Adobe Flash Media Live Encoder
    Adobe Connect
    Camtasia Studio
    Discover Video Multimedia Encoder
    Discover Video Streamsie
    Google Plus Hangouts
    Gotomeeting
    Graphedit
    GrandVJ
    Metus Ingest
    Meridix Broadcast Producer
    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 Broadcaster
    XSplit Gamecaster
    Zoom.us
    Last edited by jaibubwan; 27th May 2017 at 22:16.
    Quote Quote  
  27. Originally Posted by jaibubwan View Post
    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.
    Quote Quote  
  28. Originally Posted by manono View Post
    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.
    Image Attached Files
    Quote Quote  
  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.
    Quote Quote  
  30. Member
    Join Date
    Aug 2010
    Location
    San Francisco, California
    Search PM
    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.
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!