Expand description
OxiMedia AAF - Advanced Authoring Format support
This crate provides SMPTE ST 377-1 compliant AAF (Advanced Authoring Format) reading and writing for professional post-production workflows.
§Features
- Full SMPTE ST 377-1 (AAF Object Specification) support
- SMPTE ST 2001 (AAF Operational Patterns) support
- Microsoft Structured Storage (compound file) parsing
- Complete object model (Mobs, Segments, Components, Effects)
- Dictionary support with extensibility
- Essence reference handling (embedded and external)
- Timeline and edit rate management
- Metadata preservation
- Conversion to
OpenTimelineIOand EDL formats - Read and write capability
- No unsafe code
§AAF Structure
AAF files use Microsoft Structured Storage format (compound files) and contain:
- Header: File identification and version
- Dictionary: Class, property, and type definitions
- Content Storage: Mobs (Master, Source, Composition)
- Essence: Media data (embedded or external references)
§Example
use oximedia_aaf::{AafFile, AafReader};
// Open an AAF file
let mut reader = AafReader::open("timeline.aaf")?;
let aaf = reader.read()?;
// Access composition mobs
for comp_mob in aaf.composition_mobs() {
println!("Composition: {}", comp_mob.name());
for track in comp_mob.tracks() {
println!(" Track: {}", track.name);
}
}Re-exports§
pub use composition::CompositionMob;pub use composition::Effect;pub use composition::EffectParameter;pub use composition::FadeType;pub use composition::Filler;pub use composition::Sequence;pub use composition::SequenceComponent;pub use composition::SourceClip;pub use composition::Track;pub use composition::TrackType;pub use composition::Transition;pub use composition::UsageCode;pub use convert::EdlExporter;pub use convert::Timeline;pub use convert::TimelineClip;pub use convert::TimelineConverter;pub use convert::TimelineTrack;pub use convert::XmlExporter;pub use dictionary::Auid;pub use dictionary::DataDefinition;pub use dictionary::Dictionary;pub use essence::EssenceAccess;pub use essence::EssenceDescriptor;pub use essence::EssenceReference;pub use metadata::Comment;pub use metadata::KlvData;pub use metadata::TaggedValue;pub use metadata::Timecode as AafTimecode;pub use object_model::Component;pub use object_model::Header;pub use object_model::Mob;pub use object_model::MobSlot;pub use object_model::Segment;pub use search::AafQuery;pub use search::AafSearcher;pub use search::MobRef;pub use search::MobTypeKind;pub use structured_storage::StorageReader;pub use structured_storage::StorageWriter;pub use timeline::EditRate;pub use timeline::Position;pub use validate::AafValidator;pub use validate::IssueSeverity;pub use validate::ValidationIssue;pub use validate::ValidationReport;pub use writer::AafWriter;
Modules§
- aaf_
export - AAF export utilities.
- composition
- Composition structures
- composition_
mob - AAF composition mob objects
- convert
- Conversion utilities
- davinci_
edl - DaVinci Resolve EDL dialect support
- descriptor
- AAF MediaDescriptor module
- dict_
cache - Dictionary cache for AAF processing
- dictionary
- AAF Dictionary
- edl_
export - Export AAF compositions to CMX3600 EDL format
- effect_
def - AAF effect definitions
- effects
- AAF effects and operations.
- essence
- Essence handling
- flatten
- Timeline flattening
- inspector
- AAF low-level dump/inspection tool
- interchange
- AAF interchange format conversion between AAF, MXF, and OMF.
- media_
data - AAF media data descriptors and essence locator management
- media_
file_ ref - AAF media file reference model.
- merge
- AAF merge capability
- metadata
- Metadata support
- mob_
slot - AAF MobSlot extended module
- mob_
traversal - AAF mob graph traversal utilities
- object_
model - AAF Object Model
- operation_
group - AAF OperationGroup module
- parameter
- AAF parameter definitions
- property_
value - AAF property type and value model.
- scope
- AAF nested scope and scope reference management
- search
- AAF metadata search/query API
- selector
- AAF selector and alternation segment support.
- smpte_
metadata - SMPTE metadata extensions for AAF
- source_
clip - Source clip definitions for AAF compositions.
- streaming
- AAF streaming and incremental-read support
- structured_
storage - Microsoft Structured Storage (Compound File) implementation
- timeline
- Timeline and edit rate support
- timeline_
export - AAF timeline export configuration and event model.
- timeline_
mob - AAF timeline mob management
- track_
group - AAF track grouping and multi-track management.
- transition_
def - Transition definitions for AAF compositions.
- validate
- AAF validation pass
- writer
- AAF Writer
- xml_
bridge - AAF-to-XML and XML-to-AAF bridge
Structs§
- AafFile
- Main AAF file structure
- AafReader
- AAF file reader
- Content
Storage - Content storage containing all mobs
- Essence
Data - Essence data stored in the AAF file
Enums§
- AafError
- AAF error types