oximedia-edl
CMX 3600 Edit Decision List (EDL) parser and generator for OxiMedia, with comprehensive support for broadcast EDL formats.
Part of the oximedia workspace — a comprehensive pure-Rust media processing framework.
Version: 0.1.8 — 2026-05-29 — 659 tests
Features
- EDL Formats — CMX 3600, CMX 3400, GVG, Sony BVE-9000
- Event Types — Cut, Dissolve, Wipe, Key
- Timecode Support — Drop-frame and non-drop-frame at 24, 25, 30, 60 fps
- Reel Names — Source reel reference tracking with reel registry and mapping
- Motion Effects — Speed changes, reverse playback, freeze frames
- Audio Channel Mapping — Multi-channel audio routing
- EDL Validation — Compliance and conformance checking
- Format Conversion — Convert between EDL formats
- EDL Merging — Merge multiple EDLs with conflict resolution
- Batch Export — Batch processing of multiple EDLs
- Conform Report — Conformance report generation
- EDL Comparison — Diff two EDLs
- EDL Consolidation — Consolidate EDL events
- EDL Filtering — Filter events by criteria
- EDL Statistics — Statistical analysis of edit decisions
- EDL Timeline — Timeline representation of edit events
- EDL Comments — Comment handling and preservation
- Transition Events — Extended transition metadata
- Frame Count — Frame count utilities
- Roundtrip — Parse-serialize roundtrip verification
- Optimizer — EDL optimization and cleanup
Usage
Add to your Cargo.toml:
[]
= "0.1.8"
use ;
let edl_text = r#"
TITLE: Example EDL
FCM: DROP FRAME
001 AX V C 01:00:00:00 01:00:05:00 01:00:00:00 01:00:05:00
* FROM CLIP NAME: shot001.mov
"#;
let edl = parse_edl?;
assert_eq!;
use ;
let mut edl = new;
edl.set_title;
edl.set_frame_rate;
let generator = new;
let output = generator.generate?;
API Overview
Core types:
parse_edl()— Parse EDL text into structured representationEdl— Edit Decision List structureEdlFormat— Format variant (CMX3600, CMX3400, GVG, BVE9000)EdlGenerator— Generate EDL text outputEdlValidator— Validate EDL conformanceEdlError— Error type
Modules:
cmx3600— CMX 3600 format parser/generatorparser— Generic EDL parsergenerator— EDL text generatorevent,event_list— Edit event types and liststransition_events— Transition event metadatatimecode— Timecode representation and arithmeticframe_count— Frame count utilitiesaudio— Audio channel mappingmotion— Motion effects (speed, reverse, freeze)reel,reel_map,reel_registry— Reel managementedl_event— Extended event typesedl_filter— Event filteringedl_merge— EDL mergingedl_compare— EDL comparison / diffedl_statistics— Statistical analysisedl_timeline— Timeline representationedl_comments— Comment handlingedl_validator— Validation logicbatch_export— Batch processingconform_report— Conformance reportingconsolidate— EDL consolidationconverter— Format conversionvalidator— Conformance checkingmetadata— EDL metadataoptimizer— EDL optimizationroundtrip— Roundtrip verificationerror— Error types
License
Apache-2.0 — Copyright 2024-2026 COOLJAPAN OU (Team Kitasan)