pub struct CameraMetadata {
pub lens: Option<String>,
pub iso: Option<u32>,
pub aperture: Option<f32>,
pub shutter_speed: Option<String>,
pub focal_length_mm: Option<f32>,
pub camera_make: Option<String>,
pub camera_model: Option<String>,
}Expand description
Camera-specific technical metadata for a single clip.
Fields§
§lens: Option<String>Lens make and model, e.g. "Zeiss Supreme Prime 50mm T1.5".
iso: Option<u32>ISO sensitivity used during recording, e.g. 800.
aperture: Option<f32>Aperture as a floating-point f-stop value, e.g. 2.8 for f/2.8.
shutter_speed: Option<String>Shutter speed expressed as a fraction or angle string,
e.g. "1/48" or "172.8°".
focal_length_mm: Option<f32>Recorded focal length in millimetres, e.g. 50.0.
camera_make: Option<String>Camera body make, e.g. "ARRI".
camera_model: Option<String>Camera body model, e.g. "ALEXA Mini LF".
Implementations§
Source§impl CameraMetadata
impl CameraMetadata
Sourcepub fn with_aperture(self, aperture: f32) -> Self
pub fn with_aperture(self, aperture: f32) -> Self
Builder-style setter for aperture.
Sourcepub fn with_shutter_speed(self, speed: impl Into<String>) -> Self
pub fn with_shutter_speed(self, speed: impl Into<String>) -> Self
Builder-style setter for shutter_speed.
Sourcepub fn with_focal_length_mm(self, mm: f32) -> Self
pub fn with_focal_length_mm(self, mm: f32) -> Self
Builder-style setter for focal_length_mm.
Sourcepub fn with_camera_make(self, make: impl Into<String>) -> Self
pub fn with_camera_make(self, make: impl Into<String>) -> Self
Builder-style setter for camera_make.
Sourcepub fn with_camera_model(self, model: impl Into<String>) -> Self
pub fn with_camera_model(self, model: impl Into<String>) -> Self
Builder-style setter for camera_model.
Sourcepub fn approximate_ev(&self) -> Option<f32>
pub fn approximate_ev(&self) -> Option<f32>
Returns an exposure-value (EV) hint based on ISO and aperture when both are present. EV = log2(aperture² / (ISO / 100)). This is a coarse indication; shutter speed is not included here because it is stored as a string and would require additional parsing.
Trait Implementations§
Source§impl Clone for CameraMetadata
impl Clone for CameraMetadata
Source§fn clone(&self) -> CameraMetadata
fn clone(&self) -> CameraMetadata
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CameraMetadata
impl Debug for CameraMetadata
Source§impl Default for CameraMetadata
impl Default for CameraMetadata
Source§impl<'de> Deserialize<'de> for CameraMetadata
impl<'de> Deserialize<'de> for CameraMetadata
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for CameraMetadata
impl PartialEq for CameraMetadata
Source§fn eq(&self, other: &CameraMetadata) -> bool
fn eq(&self, other: &CameraMetadata) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CameraMetadata
impl Serialize for CameraMetadata
impl StructuralPartialEq for CameraMetadata
Auto Trait Implementations§
impl Freeze for CameraMetadata
impl RefUnwindSafe for CameraMetadata
impl Send for CameraMetadata
impl Sync for CameraMetadata
impl Unpin for CameraMetadata
impl UnsafeUnpin for CameraMetadata
impl UnwindSafe for CameraMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more