CVTimeStamp explained in the CVTimeStamp Reference Document . videoTimeScale - the number of units divided per second. Thus, for 30 frames per second, the video should be at least 30 (although this can be several multiple of 30-60, 120, 30000, etc.). videoTime is the time in the timeline where the current frame (or field) begins. Therefore, if your time base is 30,000 and you are on the 15th frame, your videoTimeScale will be 30,000 and your videoTime will be 15,000.
You can verify that the value is interpreted correctly by checking the smpteTime field and seeing if it matches what was expected. In the above example, it will be 0 hours, 0 minutes, 0 seconds, 15 frames (or 00: 00: 00: 15).
Is there a reason why you can just use the built-in video decoding tools in the OS?
source share