When shooting with ARRI cameras, or any professional cinema camera, understanding the interplay between shutter angle, project frame rate, and camera frame rate is crucial for achieving the desired motion blur and aesthetic. This calculator helps you navigate these settings.
Shutter Angle
The shutter angle is a direct measurement of how long the camera's shutter is open during each frame's exposure. In digital cinematography, it's often expressed in degrees. A standard 180-degree shutter angle is the most common setting, as it provides a natural motion blur that mimics how the human eye perceives movement. For example, a 180-degree shutter will keep the sensor exposed for exactly half of the time of a full rotation (360 degrees).
Project Frame Rate
This is the intended final frame rate of your footage, typically set in your editing software or post-production workflow. Common project frame rates include 23.976 fps (often referred to as 24 fps for simplicity), 25 fps, 29.97 fps, 30 fps, 48 fps, 50 fps, 60 fps, and higher for slow-motion effects.
Camera Frame Rate (Recording Frame Rate)
This is the actual speed at which the camera records frames. It's often set independently from the project frame rate. Shooting at a higher camera frame rate than your project frame rate allows for slow-motion playback. For instance, shooting at 48 fps for a 24 fps project will result in footage that plays back at half speed.
The Relationship and Calculation
The fundamental relationship is that the shutter speed (in seconds) is determined by the frame rate and the shutter angle. The formula is:
However, cameras often allow you to set the shutter angle directly, and the camera's internal processing calculates the corresponding shutter speed based on the selected camera frame rate. The "effective" motion blur you perceive in the final project is a combination of the physical shutter speed and the frame rate it's played back at. This calculator focuses on how to determine the correct shutter angle for a given project frame rate and camera frame rate to maintain a consistent look, or to calculate the effective shutter speed.
How this Calculator Works
This calculator helps you understand the relationship between these settings. By inputting the desired Shutter Angle, Project Frame Rate, and Camera Frame Rate, it calculates the effective shutter speed in relation to the project frame rate. A common goal is to maintain a 180-degree shutter effect for natural motion blur, regardless of the camera's recording frame rate. For example, if you shoot at 48 fps with a 180-degree shutter, the actual exposure time per frame is shorter than at 24 fps with a 180-degree shutter. This calculator helps you see the resulting effective shutter speed at your project frame rate, which is key for consistency.
Example:
Let's say you're shooting a scene for a 24 fps project. You want the natural motion blur of a 180-degree shutter. You set your ARRI camera to record at 48 fps to allow for slow-motion playback later. If you keep the shutter angle at 180 degrees on the camera, the exposure time per frame is halved. This calculator will show you the resulting effective shutter speed at your project's 24 fps.
Inputs:
Shutter Angle: 180°
Project Frame Rate: 24 fps
Camera Frame Rate: 48 fps
The calculator will output the effective shutter speed relative to your project frame rate, helping you understand the motion blur characteristics.
function calculateShutterSpeed() {
var shutterAngle = parseFloat(document.getElementById("shutterAngle").value);
var projectFrameRate = parseFloat(document.getElementById("projectFrameRate").value);
var cameraFrameRate = parseFloat(document.getElementById("cameraFrameRate").value);
var resultDiv = document.getElementById("result");
resultDiv.innerHTML = ""; // Clear previous results
if (isNaN(shutterAngle) || isNaN(projectFrameRate) || isNaN(cameraFrameRate)) {
resultDiv.innerHTML = "Please enter valid numbers for all fields.";
return;
}
if (shutterAngle <= 0 || projectFrameRate <= 0 || cameraFrameRate <= 0) {
resultDiv.innerHTML = "All values must be positive.";
return;
}
// Calculate shutter speed in seconds per frame for the camera's current frame rate
var shutterSpeedCameraSec = shutterAngle / (360 * cameraFrameRate);
// Calculate the effective shutter speed at the project frame rate
// This is the key for understanding perceived motion blur consistency
var effectiveShutterSpeedProjectSec = shutterAngle / (360 * projectFrameRate);
// Calculate the equivalent shutter angle for the project frame rate if the camera frame rate were also the project frame rate.
// This helps illustrate how the setting on the camera relates to the desired look at the project rate.
var equivalentShutterAngleAtProjectRate = (shutterSpeedCameraSec * 360 * projectFrameRate);
var output = "
Results:
";
output += "Shutter Speed (Camera): " + shutterSpeedCameraSec.toFixed(6) + " seconds per frame";
output += "Effective Shutter Speed (at Project Frame Rate): " + effectiveShutterSpeedProjectSec.toFixed(6) + " seconds per frame";
// This part can be a bit confusing; it's about illustrating the relationship
// We can also express the shutter angle needed on the camera to achieve the SAME effective shutter speed as if it were shot at the project frame rate.
// However, the primary goal of this calculator is to show the result of using a specific shutter angle at a specific camera frame rate,
// and what that LOOKS like at the project frame rate.
// Let's simplify and focus on the effective shutter speed at project rate.
// If the user sets shutter angle X on the camera, and records at Y fps for a Z fps project:
// – The camera opens its shutter for (X/360) * (1/Y) seconds.
// – The motion blur perceived will be as if the shutter was open for (X/360) * (1/Z) seconds IF X was set for Z fps.
// The key insight is that the 'feeling' of motion blur is tied to the exposure time relative to the final playback frame rate.
// Let's calculate the equivalent motion blur for the project frame rate, assuming the camera *was* set to match it.
// This is often what people aim for: consistent motion blur regardless of recording speed.
var desiredShutterAngleForProjectRate = 180; // Standard assumption for natural blur
var idealShutterSpeedForProjectRate = desiredShutterAngleForProjectRate / (360 * projectFrameRate);
var actualShutterSpeedAtCameraRate = shutterAngle / (360 * cameraFrameRate);
output += "Key Insight:";
output += "Your camera recorded with an exposure time of approximately " + actualShutterSpeedAtCameraRate.toFixed(6) + " seconds per frame.";
output += "At your project frame rate of " + projectFrameRate + " fps, a standard 180° shutter would imply an exposure time of approximately " + idealShutterSpeedForProjectRate.toFixed(6) + " seconds per frame.";
// To make it simpler, let's provide the shutter speed in fractions of a second.
output += "Effective Shutter Speed (at " + projectFrameRate + " fps project rate): 1 / " + (projectFrameRate / (shutterAngle / 360)).toFixed(2) + "";
output += "This means the motion blur captured is equivalent to a shutter speed of approximately " + (projectFrameRate / (shutterAngle / 360)).toFixed(2) + " fps.";
resultDiv.innerHTML = output;
}
.calculator-container {
font-family: sans-serif;
border: 1px solid #ccc;
padding: 20px;
border-radius: 8px;
max-width: 600px;
margin: 20px auto;
background-color: #f9f9f9;
}
.calculator-inputs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 15px;
margin-bottom: 20px;
}
.input-group {
display: flex;
flex-direction: column;
}
.input-group label {
margin-bottom: 5px;
font-weight: bold;
color: #333;
}
.input-group input {
padding: 8px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box; /* Important for consistent sizing */
}
button {
background-color: #007bff;
color: white;
padding: 10px 15px;
border: none;
border-radius: 4px;
cursor: pointer;
font-size: 16px;
margin-bottom: 20px;
transition: background-color 0.2s ease;
}
button:hover {
background-color: #0056b3;
}
.calculator-result {
margin-top: 20px;
padding: 15px;
background-color: #e9ecef;
border: 1px solid #ced4da;
border-radius: 4px;
text-align: center;
}
.calculator-result h3 {
margin-top: 0;
color: #495057;
}
.calculator-result p {
margin-bottom: 5px;
color: #6c757d;
}
article {
font-family: sans-serif;
line-height: 1.6;
color: #333;
max-width: 800px;
margin: 30px auto;
padding: 20px;
border-top: 1px solid #eee;
}
article h3, article h4 {
color: #555;
margin-bottom: 10px;
}
article p {
margin-bottom: 15px;
}
article ul {
margin-left: 20px;
margin-bottom: 15px;
}
article li {
margin-bottom: 5px;
}
article code {
background-color: #f0f0f0;
padding: 2px 5px;
border-radius: 3px;
}