Export Formats Overview
Choose the export format that best fits your target platform and quality requirements:π¬ Standard Formats
H.264 MP4, VP9 WebM - Universal compatibility
π― Professional Formats
ProRes MOV, PNG Sequence - Maximum quality
Standard Formats
H.264 MP4 (Recommended)
Universal compatibility with excellent compression:VP9 WebM
Excellent compression for web delivery:Professional Formats
ProRes 4444 MOV
Highest quality for professional editing:PNG Sequence
Frame-by-frame output for maximum quality:Quality Settings
Classic FFmpeg Parameters
The SDK uses standard FFmpeg encoder parameters for professional control:CRF (Constant Rate Factor)
Controls quality vs file size trade-off (lower = higher quality):| CRF | Quality | Use Case | Code Implementation |
|---|---|---|---|
| 12-18 | Excellent | Professional work, archival | EncoderProfile.h264({ crf: 18 }) |
| 19-23 | High | General purpose, good balance | EncoderProfile.h264({ crf: 23 }) |
| 24-28 | Good | Web delivery, smaller files | EncoderProfile.h264({ crf: 28 }) |
| 29-35 | Acceptable | Very small files, previews | EncoderProfile.h264({ crf: 32 }) |
Encoding Presets
Balance encoding speed vs compression efficiency:| Preset | Speed | File Size | Use Case | FFmpeg Args |
|---|---|---|---|---|
| ultrafast | Fastest | Largest | Testing, previews | -preset ultrafast |
| fast | Fast | Large | Development | -preset fast |
| medium | Moderate | Moderate | General purpose | -preset medium |
| slow | Slow | Small | Final delivery | -preset slow |
| veryslow | Slowest | Smallest | Archival, maximum compression | -preset veryslow |
Codec Selection
Different codecs for different use cases:- H.264: Universal compatibility (
-c:v libx264) - VP9: Web optimization (
-c:v libvpx-vp9) - ProRes: Professional editing (
-c:v prores_ks) - PNG: Frame sequences (
-c:v png)
Pixel Formats
Control color space and transparency:- yuv420p: Standard video (no alpha)
- yuva420p: Video with alpha channel
- rgba: PNG sequences with transparency
Format Recommendations
Choose by Use Case
π Web Delivery
π Web Delivery
Use H.264 MP4 - Universal browser supportAlternative: VP9 WebM for better compression
π± Social Media
π± Social Media
π¬ Professional Editing
π¬ Professional Editing
Use ProRes 4444 MOV - Highest qualityPerfect for Final Cut Pro, Premiere Pro, DaVinci Resolve
π― Frame Analysis
π― Frame Analysis
Use PNG Sequence - Individual framesPerfect for GIF creation, frame-by-frame work
Multiple Export Example
Export the same composition in different formats:Progress Tracking
Monitor export progress:Debugging
Dry Run
See the FFmpeg command without executing:Verbose Output
See FFmpeg output in real-time:File Size Comparison
Approximate file sizes for a 30-second 1080p composition:| Format | Quality | File Size | Use Case |
|---|---|---|---|
| H.264 CRF 18 | Excellent | ~50MB | Professional delivery |
| H.264 CRF 23 | High | ~25MB | General purpose |
| H.264 CRF 28 | Good | ~15MB | Web delivery |
| VP9 CRF 32 | Good | ~10MB | Web optimized |
| ProRes 4444 | Perfect | ~500MB | Professional editing |
| PNG Sequence | Perfect | ~200MB | Frame-by-frame work |
Platform-Specific Recommendations
Social Media Platforms
Web Applications
Advanced Export Options
Implementation Details
The SDK implements classic FFmpeg parameters through theEncoderProfile class:
Batch Export
Export multiple versions efficiently:Performance Tips
Optimize Export Speed
- Use
ultrafastpreset for testing - Use lower resolution for previews
- Export final quality only when composition is finalized
Optimize File Size
- Use VP9 WebM for smallest files
- Increase CRF value (lower quality) for smaller files
- Use
sloworveryslowpreset for better compression
Memory Management
- Export long compositions in segments
- Use appropriate quality settings for your target
- Clean up intermediate files
