Syphon Recorder FPS issue

Home Forums Syphon Syphon Implementations – User Syphon Recorder FPS issue

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #58876
    HDL
    Participant

    I’m trying to use CamTwist + Syphon Recorder to record lossless RGB video. I get full FPS in my source and CamTwist, but not Syphon Recorder.

    https://www.dropbox.com/s/ffloybchb1jt4uv/Syphon%20Recorder%20FPS.zip?dl=0

    When the FPS is set to 60, it’ll produce a video around 56-57 FPS. If I choose “as fast as possible” it’ll go up to around 59.92, and there will still be noticeable frame skips.

    #58878
    bangnoise
    Keymaster

    Recorder, by design, won’t produce fixed-rate movies. In particular, if there has been no change since the last frame, a duplicate frame won’t be added.

    I’m not sure what you intend to illustrate with the clip you provide, but if it’s simply that the frame-rate doesn’t read 60, then that’s (probably) working as intended. If you can produce a movie which suffers visually as a result, then you have a problem.

    If you see intermittent frame loss recording lossless RGB, you should check the destination drive can keep up. The free Blackmagic Disk Speed Test on the App store is handy for that.

    #58879
    HDL
    Participant

    The short clip was just to show the FPS in the inspector without uploading a huge raw file. When I do more practical tests with fast, constant motion I can easily see frame skips, even with really low resolutions.

    My disk is a SATA 3 SSD that I just got recently. I tried the test you mentioned: https://www.dropbox.com/s/ax01tz98mb2v7aa/Disk%20Speed.png?dl=0

    If I capture with Quartz Composer instead of CamTwist I get the same result: smooth video in the QC preview window, and frame skips in Syphon Recorder.

    #58880
    bangnoise
    Keymaster

    If you can provide the least complicated workflow that reliably produces dropped frames for you, and a screenshot of your Preferences window in Recorder, I’ll take a look at some point (not soon, sorry).

    #58881
    HDL
    Participant

    For good measure I outlined both workflows I’ve tried:

    https://www.dropbox.com/s/7aypnzziv3ismxk/Capture%20Workflows.zip?dl=0

    The general idea is the same: capture at the source’s native res and frame rate (426×240 at 60 FPS in this particular case) and record with those same settings.

    #58884
    HDL
    Participant

    Linking this here just in case it’ll help: https://www.dropbox.com/s/dmiafv2d63nn74e/Playing%20FPS.mp4?dl=0

    You’ll notice it consistently dips at set intervals. It’s visually reflected in the original video as well.

    • This reply was modified 6 years, 3 months ago by HDL.
    #58886
    bangnoise
    Keymaster

    A reproducible workflow would be a set of instructions I can follow, ideally without installing additional software.

    #58888
    HDL
    Participant

    First run a video or game that smoothly runs at 60 FPS, preferably at low resolution to maximize performance. Use Command + Shift + 4 to bring up a crosshair that shows you the X/Y coordinates of your monitor and note the window’s origin values.

    Quartz Composer

    • Open basic composition in Quartz Composer.
    • From the library window, drag v002 Screen Capture, Billboard, and Syphon Server blocks to the editor.
    • Connect v002 Screen Capture output to Image inputs of Billboard and Syphon.
    • Open Syphon inspector and change source from Image to OpenGL Scene.
    • Open v002 Screen Capture inspector and change height, width, and X/Y origins to desired size and location.
    • Open Billboard inspector and change Dimensions Mode (under Settings) to Real Size. Under Input Parameters adjust Y position as needed.
    • Choose a resolution preset in the viewer or set it to custom and resize the window to match the desired dimensions.

    Syphon Recorder Settings

    • Compressor: Any will do, but for this test use None (Uncompressed).
    • Preserve Alpha Channel on or off.
    • Quality: Lossless
    • Frame Rate: 60
    • Dimensions: Set to the same resolution as the QC viewer.
    • Audio Input: Soundflower (2ch)
    • Audio Format: Linear PCM

    #58889
    vade
    Keymaster

    Try running OpenEmu. OpenEmu has Syphon support built in.

    There are a lot of issues here.

    1: video games don’t run at 60hz like your monitor does, but typically 29.97.

    2: Game emulators don’t always do the right things to compensate for the frame rate discrepancy, so it can be hit or miss in terms of frame rate just on its own (I know, seems weird but its the case sometimes still just due to phasing)

    3: Everything Tom said about Syphon Recorder being meant for realtime, on demand, just in time frame arrival means it has a VERY hard time meeting the FPS you desire, even if the host app runs at a smooth 60Hz, frames don’t arrive at *exactly* the same time, there is, for lack of a better word, ‘clock drift’.

    Try OpenEmu. I believe it has native recording, and if that doesnt suffice, try its native Syphon support, see if that helps.

    Thanks for taking the time to write that up.

    #58890
    HDL
    Participant

    My particular test game is a native PC game (not emulated) from this year that runs at exactly 60 FPS. It is very light on CPU/GPU.

    What you say about frame arrival seems a lot closer to the mark, but the skipping happens at set intervals (around every 5, 6 seconds) and lasts about 2-3 seconds. See my video a couple posts back.

    Just to be certain, I ran a Genesis game with OpenEmu and tried recording tests with 59.94 FPS (native Genesis rate) and 60. Both exhibited the aforementioned behavior.

    #58891
    vade
    Keymaster

    Hm. Out of curiosity, do you get the same stutter if you use a more lightweight codec like Apple Intermediate Codec or Photo Jpeg?

    #58892
    vade
    Keymaster

    Oh, also, using the QC Editor to power your syphon capture is super sub-optimal. QC Editor renders using the main queue and therefor you cannot guarantee consistent FPS at all.

    #58893
    HDL
    Participant

    Yes, using the other compression options give the same result, as well as using CamTwist rather than QC.

Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.