Multi-rate capture
This is a beta feature. Please provide feedback on your experiences and suggestions after trying out the new Multi-rate capture.
Contents |
Background
Multi-rate capture allows a video to be captured with three different frame rates, as shown below. Multi-rate capture is intended to provide additional information on what happened before and after the event of interest. For example, imagine a video of a baseball pitch. A pitch can be broken down into a (1) windup, (2) pitch, and (3) follow through. The camera is triggered right as the pitch starts.
Multi-rate capture solves several issues:
- The need to reduce save time so repetitive events, such as baseball pitches, can all be captured and saved without losing any events of interest.
- The need to have context around the even of interest, where the context doesn't need to have such fine detail.
Configuring multi-rate capture
Capturing multi-rate videos
Once you have configured multi-rate capture, actually capturing the video is easy; simple trigger the camera. Based on your save mode and multi-shot settings, you can either review the captured video or continue to capture more videos.
Implementation details
Waterfall configuration model
The requested values the user enters into the webUI settings modal follow a waterfall configuration style where a requested value specified higher in the list can change the allowed value of a configuration setting lower in the list.
The camera processes the parameters that affect how a video is captured in the following order:
- Sensitivity
- Shutter (exposure)
- Pre-trigger frame rate
- Post1-trigger frame rate
- Post2-trigger frame rate
- Horizontal resolution
- Vertical resolution
- Pre-trigger duration
- Post1-trigger duration
- Post2-trigger duration
- Shot count
- Overclocking
- Sub-Sampling
- Genlock
Handling unspecified configuration values
If you have a setting lower in the waterfall that is more important to you that a value higher in the waterfall, you leave the requested values higher in the waterfall blank/empty/unspecified and then the camera will provide allowed values, doing its best to meet the values you did specify, limited by the camera's hardware capabilities.
For multi-rate capture, the following table describes how unspecified requested values affect allowed values.
Pre-trigger frame rate |
Post1-trigger frame rate |
Post2-trigger frame rate |
Horizontal resolution |
Vertical resolution |
Pre-trigger duration |
Post1-trigger duration |
Post2-trigger duration |
Shot count | Description |
---|---|---|---|---|---|---|---|---|---|
blank | any | any | any | any | non-zero | any | any | any | Fastest possible frame rate is used for allowed pre-trigger |
any | blank | any | any | any | any | non-zero | any | any | Allowed pre-trigger frame rate is used for post1-trigger |
any | any | blank | any | any | any | any | non-zero | any | Allowed post1-trigger frame rate is used for post2-trigger |
Backward compatibility
The common camera configuration supports specifying a single frame rate, duration, and pre-trigger percentage. When in advanced camera configuration those three common capture configuration parameters are not used. Instead advanced camera configuration displays multi-rate capture settings, which consists of a three sets of (frame rate, duration) values, one set for each of of the pre-trigger, post1-trigger and post2-trigger multi-rate capture regions.
The camera determines if it is in backward compatibility mode by checking if any of the configure_camera() or run() CAMAPI dictionary parameters keys frame_rate, duration, or pretrigger are defined. If any of those three keys are defined, then the camera will be calculate the allowed values based on those keys. When in backward compatibility mode, the six keys related to multi-rate capture are ignored.