Due to continual spamming, forum registrations are now by Invitation Only. Hopefully this will be only a temporary measure to combat spammers.

If you want an invitation contact forumapplication @ camstudio . org

Sorry for the inconvenience.

Capture Interval Inaccuracies

I want to convert a game demo to a video using CamStudio. To achieve a fast framerate, I play the demo in slow motion and try to capture frames at a proportionate rate. However, the Capture Interval seems to be a little inaccurate and even inconsistent to get the right playback speed. To elaborate, the Capture Interval (in milliseconds) doesn't seem to count the time it takes to take the snapshot. For example, if it takes 50 milliseconds to take one capture, and the interval is set to 100 milliseconds, the Actual Input Rate looks something like 6.67 (i.e. one capture every 150 milliseconds). <b>Are the numbers I'm seeing fooling me, or if not can CamStudio be patched to take snapshots precisely at the specified rate by taking into account the overhead of the snapshot itself?</b>

Comments

  • foursquare,

    Just pay attention to the numbers you set it to. The codec pads the missing frames in to match your desired settings. Make certain "Capture Frames Every" TIMES "Playback Rate" sums to 1000 to keep good audio sync, if I get what you are after. The number you do see in the capture screen during capture is only what the computer is managing given CPU power and such (it is running the game AND the recorder, so this is an issue - you can TRY setting priority higher, but that seldom is a very noticeable effect. Realtime setting may freeze the game completely...)

    Terry
  • Thanks Terry. Sorry for the confusing post. The problem is I need to reduce "padding" as much as possible to get as much quality as I can in 30 fps, but the more I increase the interval to make it as smooth as possible, the lower the "Actual FPS" gets.

    For example, my PC takes about 12-14 snapshots per second maximum (at 1ms interval). That's about once every 75ms. If I increase the interval to something more appropriate, the "Actual FPS" drops off sharply. I believe this is because the interval time is added to the time it takes to snapshot. So, an interval time of 75 ms causes snapshots to be taken about every 150 ms (6-7 Actual FPS), which is half the ideal quality.

    If I get crafty, I may be able to get the quality I want by using unusual numbers for the interval and frame rate and using vdub to normalize it, but I think it would be easier, and even smoother if the "interval" feature became "min frequency", so a value of 90 would only wait for about 15 ms in between snapshots, eliminate any variance, and reduce padding.

    Do you understand my use case? What do you think about implementing this in an upcoming release of CamStudio?
  • I think I'm following you. The numbers you are giving me make me suspect the capture speed is being tied perhaps to the monitor's refresh rate as set in the video card. Is it? That is, do you have your refresh rate set to 75? If so, would a setting of 60 improve things? I don't know - just speculating here.

    The feature may be viable, but I am not one of the programmers. They will be by and take note of this suggestion in a bit. Meanwhile - getting better Actual FPS would be the primary goal now. Keep the relationship between Capture Frames Every and Playback Rate correct (so that they sum to 1000) and try all possible settings. Change the "Set Key Frames Every" as well. Those are the only options until you dig deeper into the Xvid settings (which I do not understand enough to comment on.)

    Terry
  • Terry; foursquare never actually said he's using Xvid (MPEG 4), so I'm wondering if the sets/presets we're used to seeing don't apply here. Cam's behavior with lossless types is grossly different than with MPEG 4.

    The notion of slowing the target material, capturing and speeding up is an interesting one, but I don't think it's viable in most instances, since accurately slowing that rate is difficult and most source material can't be slowed down at all. I think, for practical purposes, it's far more desirable to play the target material at a properly synced, accurate rate, slow down the capture and then speed up the product. At any rate the math is a lot easier to deal with, and the resulting rate (sync) is always perfect. I'm currently using a capture of 5/90 with a 200/30 conversion, and I truly believe that this is as good as one can get with Xvid at this point.

    If we wanted to do a seat-of-the-pants frame interval test, I suppose we could run a digital counter with 1 MS digital readings, capture it, play it back and do a frame analysis, counting the actual number frame repetitions, and more importantly, the regularity of numeric progressions captured. I'm afraid the result would be a bit ugly, and the most likely culprit would be the limitations of graphics processing on any computer available today. You can't capture what you can't play.

    If Cam's developers ARE actually reading these threads, I would strongly suggest to them that they consider designing an entirely new framework which has controls not designed exclusively for two very old and obsolete codecs. Since MPEG 4 is the best (and probably only) current codec which performs well with CamStudio, the program ought to be constructed to better utilize that codec.

    I think I'll write a list of wants and suggestions to be posted in the "What do you want to see... " thread soon.

    Ken
  • Ken,

    Heh... an update of the kind you are suggesting is a good idea!

    I'll try to think up a good frame interval test that is accurate and shows where the glitches are coming from.

    Terry
Sign In or Register to comment.