What is FCPXML Format?
Introduction to FCPXML
FCPXML (Final Cut Pro XML) is the project file format used by Final Cut Pro X. It's an XML-based format that describes everything in your Final Cut Pro project, including video clips, effects, transitions, and titles (including subtitles).
FCPXML File Structure
An FCPXML file consists of several main sections:
<resources>
- Defines formats, effects, and media used in the project<library>
- Contains events and projects<event>
- Groups of projects and clips<project>
- Individual editing projects<sequence>
- Timeline containing clips and effects
Example FCPXML File
Here's a basic example of an FCPXML file structure with a title element:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fcpxml>
<fcpxml version="1.9">
<resources>
<format id="r1" name="FFVideoFormat1080p30" frameDuration="100/3000s" width="1920" height="1080"/>
<effect id="r2" name="Basic Title" uid=".../Titles.localized/Bumper:Opener.localized/Basic Title.localized/Basic Title.moti"/>
</resources>
<library>
<event name="Subtitles">
<project name="My Project">
<sequence format="r1">
<spine>
<title ref="r2" offset="1s" duration="3s">
<text>Hello, welcome to OrcaSubtitle!</text>
</title>
</spine>
</sequence>
</project>
</event>
</library>
</fcpxml>
Key Elements for Subtitles
When working with subtitles in FCPXML, these are the important elements:
<title>
- Creates a text element (subtitle)<text>
- Contains the actual subtitle textoffset
- Specifies when the subtitle appearsduration
- Specifies how long the subtitle displays
Time Format in FCPXML
FCPXML uses several time formats:
100/3000s
- Frame duration (e.g., for 30fps video)1s
- Simple seconds1/30s
- Fractions of seconds1000/30000s
- High-precision timing
Common Attributes
Format Attributes
width
- Video width in pixelsheight
- Video height in pixelsframeDuration
- Duration of each frame
Title Attributes
ref
- Reference to a title effectoffset
- Start time of the titleduration
- How long the title displayslane
- Vertical position in the timeline
Best Practices
- Always specify the FCPXML version
- Include all necessary resources
- Use proper time formats for your project's frame rate
- Organize subtitles in separate events for better management
- Use descriptive names for projects and events
Common Issues and Solutions
1. Version Compatibility
Different versions of Final Cut Pro support different FCPXML versions. Always check compatibility when sharing projects.
2. Missing Resources
Ensure all referenced resources (effects, formats) are included in the FCPXML file or available in the target system.
3. Timing Issues
Pay attention to frame rates and time formats. Mismatched frame rates can cause subtitle sync issues.