Skip to main content

ff_analysis/
lib.rs

1//! # ff-analysis
2//!
3//! Media-analysis primitives over `FFmpeg`: scene, silence, black-frame and
4//! keyframe detection, histogram and waveform extraction, tempo (BPM) results,
5//! and video scopes (waveform / vectorscope / RGB parade / histogram).
6//!
7//! These tools read decoded media and report analytical data; they do not edit
8//! or transform it. The analyzers build on [`ff_decode`] (for frame access) and
9//! drive their own libavfilter graphs where needed. Errors are typed and
10//! contextual ([`AnalysisError`]).
11//!
12//! Part of the [`avio`](https://github.com/itsakeyfut/avio) crate family; each
13//! crate is versioned independently.
14
15#![warn(missing_docs)]
16
17mod error;
18
19pub mod analysis;
20pub mod scope;
21
22pub use error::AnalysisError;
23
24pub use analysis::{
25    BlackFrameDetector, BpmResult, FrameHistogram, HistogramExtractor, KeyframeEnumerator,
26    SceneDetector, SilenceDetector, SilenceRange, WaveformAnalyzer, WaveformSample,
27};
28pub use scope::{Histogram, RgbParade, ScopeAnalyzer};