Skip to main content

Crate oximedia_clips

Crate oximedia_clips 

Source
Expand description

Professional clip management and logging system for OxiMedia.

This crate provides comprehensive clip management functionality for professional video editing and logging workflows, including:

  • Clip Database: Store and manage video clips with metadata
  • Subclip Creation: Create subclips with in/out points
  • Clip Grouping: Organize clips into bins, folders, and collections
  • Professional Logging: Keywords, markers, ratings, and notes
  • Take Management: Track multiple takes of the same shot
  • Proxy Association: Link clips to proxy versions
  • Smart Collections: Auto-updating collections based on criteria
  • Search and Filter: Advanced search and filtering capabilities
  • Import/Export: EDL, XML, CSV, JSON export

§Example

use oximedia_clips::{ClipManager, Clip, Rating};
use oximedia_core::types::Rational;
use std::path::PathBuf;

// Create a clip manager
let manager = ClipManager::new(":memory:").await?;

// Create a new clip
let mut clip = Clip::new(PathBuf::from("/path/to/video.mov"));
clip.set_name("Interview Take 1");
clip.set_rating(Rating::FourStars);
clip.add_keyword("interview");
clip.add_keyword("john-doe");

// Save the clip
let clip_id = manager.add_clip(clip).await?;

// Search for clips
let results = manager.search("interview").await?;

Re-exports§

pub use ai_tagging::AiTagger;
pub use ai_tagging::AiTaggerConfig;
pub use ai_tagging::ClipInfo;
pub use ai_tagging::TagSource;
pub use ai_tagging::TagSuggestion;
pub use camera_metadata::CameraMetadata;
pub use camera_metadata::CameraMetadataExt;
pub use camera_metadata::CameraMetadataStore;
pub use clip::Clip;
pub use clip::ClipId;
pub use clip::ClipMetadata;
pub use clip::SubClip;
pub use clip_waveform::ClipWaveformGenerator;
pub use clip_waveform::WaveformData;
pub use clip_waveform::WaveformThumbnail;
pub use group::Bin;
pub use group::BinId;
pub use group::Collection;
pub use group::CollectionId;
pub use group::Folder;
pub use group::FolderId;
pub use group::SmartCollection;
pub use logging::Favorite;
pub use logging::Keyword;
pub use logging::Rating;
pub use marker::Marker;
pub use marker::MarkerId;
pub use marker::MarkerType;
pub use note::Annotation;
pub use note::Note;
pub use note::NoteId;
pub use proxy::ProxyQuality;
pub use proxy_meta::ProxyManagerSpec;
pub use proxy_meta::ProxyMetadata;
pub use proxy_meta::ProxySpec;
pub use proxy_meta::ProxyValidationError;
pub use take::multi_criteria::rank_takes_multi_criteria;
pub use take::multi_criteria::MultiCriteriaTakeSelector;
pub use take::multi_criteria::TakeScoreWeights;
pub use take::multi_criteria::TakeWeights;
pub use take::Take;
pub use take::TakeId;
pub use take::TakeSelector;

Modules§

ai_tagging
AI-powered clip tagging via rule-based heuristics.
bin
Hierarchical clip bin management with nested child bins.
bin_organizer
Bin organization and automatic clip sorting.
camera_metadata
Camera-specific metadata for video clips.
clip
Core clip types and management.
clip_ai_tag
Automatic keyword suggestion for clips based on visual content analysis.
clip_audit
Clip audit trail and change logging.
clip_bin
Clip bin management for organizing clips into named containers.
clip_collaboration
Multi-user clip annotation with Operational-Transform-based conflict resolution.
clip_compare
Clip comparison and difference analysis.
clip_export
Clip export job management for queuing and tracking export operations.
clip_face_index
Face-based clip search and grouping.
clip_favorites
Quick-access favourite collections and recent clips list.
clip_fingerprint
Clip fingerprinting for deduplication and identification.
clip_history
Clip edit history and undo/redo support.
clip_merge
Clip merging and concatenation utilities.
clip_metadata
Extended clip metadata attributes for OxiMedia.
clip_playlist
Playlist management for organized clip playback.
clip_relations
Clip relationship graph for OxiMedia.
clip_relations_bidirectional
Bidirectional clip relation graph with automatic symmetry enforcement.
clip_scene_detect
Automatic scene detection and subclip creation at scene boundaries.
clip_search
Clip search engine for querying clips by various fields.
clip_tag
Structured tagging system for clips.
clip_timeline
Clip timeline placement and sequencing.
clip_transcode_status
Clip transcode status tracking: proxy generation and transcode progress per clip.
clip_versioning
Clip versioning module for tracking edit history with undo/redo support.
clip_waveform
Audio waveform generation for timeline thumbnails.
database
Database storage and management.
export
Export system for clips and lists.
group
Clip organization and grouping.
import
Import and scanning system.
logging
Professional logging system.
marker
Frame-accurate marker system.
note
Annotations and notes system.
offline
Offline / missing media detection for clips.
proxy
Proxy media management.
proxy_link
Proxy link registry for OxiMedia clips.
proxy_meta
Proxy generation metadata for clip management.
rating
Clip rating and flagging system.
rating_store
Star rating and colour label system for clips.
search
Search and filtering system.
storyboard
Storyboard generation from clips.
subclip
Subclip management - create and organize subclips from parent clips.
sync
Multi-clip synchronization utilities.
take
Take management for multi-take shots.
trim
Smart clip trimming - automatic in/out point detection.
usage
Clip usage tracking across sequences.
version
Clip version management.

Structs§

ClipManager
Main clip management system.

Enums§

ClipError
Errors that can occur during clip operations.

Type Aliases§

ClipResult
Result type for clip operations.