Skip to main content

Crate oximedia_aaf

Crate oximedia_aaf 

Source
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 OpenTimelineIO and 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
ContentStorage
Content storage containing all mobs
EssenceData
Essence data stored in the AAF file

Enums§

AafError
AAF error types

Type Aliases§

Result