FCPXML (.fcpxml) 이해하기: Final Cut Pro의 타임라인 교환 핵심
현대 영화 및 텔레비전 후반 작업에서는 프로젝트가 단일 편집 스위트에서 완료되는 경우는 드뭅니다. 장편 영화, 광고, 다큐멘터리 등은 Apple Final Cut Pro에서 편집되고, DaVinci Resolve에서 컬러리스트가 색보정을 수행하며, Pro Tools에서 사운드 디자이너가 믹싱하고, Adobe After Effects에서 모션 그래픽으로 마무리될 수 있습니다.
전체 타임라인을 서로 다른 디지털 오디오 워크스테이션(DAW) 및 비선형 편집기(NLE) 간에 평평하고 편집할 수 없는 비디오 파일로 렌더링하지 않고 이동하려면 교환 형식이 필요합니다.
Apple Final Cut Pro 사용자를 위한 그 다리 역할을 하는 것이 FCPXML이며(보통 독립적인 .fcpxml 파일로 저장되거나 .fcpxmld 번들 안에 패키징됩니다).
1. FCPXML 파일이란?
.fcpxml 파일은 Apple이 만든 특수한 인간이 읽을 수 있는 Extensible Markup Language (XML) 문서입니다. 이 파일은 비디오 편집 프로젝트의 구조적 청사진을 설명합니다: 미디어 클립, 타임라인 시퀀스, 컷 포인트, 전환, 오디오 레벨, 마커, 키워드 및 구조 메타데이터.
핵심 구분: FCPXML vs. 레거시 FCP 7 XML
2011년에 Final Cut Pro X가 출시되기 전에, Apple의 기존 Final Cut Pro(버전 1부터 7까지)는 전통적인 트랙(Track 1, Track 2, Audio A1/A2)을 기반으로 한 표준 XML을 사용했습니다.
Apple이 **트랙이 없는 “Magnetic Timeline,”**을 중심으로 편집기를 재구상했을 때, 기존의 트랙 기반 XML 및 표준 EDL/AAF 파일은 클립이 연결되고, 중첩되고, 충돌하는 방식을 정확히 표현할 수 없게 되었습니다. Apple은 FCPXML을 도입하여 마그네틱 타임라인 관계, 역할, 복합 클립 및 동적 보조 스토리라인을 기본적으로 모델링했습니다.
.fcpxml와.fcpxmld에 대한 참고: > Final Cut Pro 10.6부터 Apple은.fcpxmld컨테이너(Final Cut Pro XML Bundle)를 도입했습니다. 기존.fcpxml은 단일 텍스트 파일인 반면,.fcpxmld는 내부Info.fcpxml파일과 보조 메타데이터, 사용자 정의 LUT, 또는 부가 리소스 링크를 포함하는 macOS 패키지 폴더입니다.
2. FCPXML 포맷의 핵심 기능
FCPXML의 아키텍처는 고급 편집 및 컨폼 파이프라인의 엄격한 기술 요구 사항을 충족합니다:
1. 트랙 없는 마그네틱 타임라인 표현
고정된 수평 트랙을 전제로 하는 CMX 3600 EDL(편집 결정 목록)이나 Avid AAF와 달리, FCPXML은 시퀀스를 계층적으로 표현합니다:
- 스파인: 기본 스토리라인(
<spine>)은 핵심 내러티브 흐름을 고정합니다. - 고정된 항목: 컷어웨이, B-롤, 타이틀 및 사운드 효과는 임의의 레이어 인덱스가 아니라 유리적 오프셋을 사용하여 특정 스파인 순간에 직접 연결됩니다.
- 복합 및 멀티캠 클립: 중첩 시퀀스, 다각도 카메라 뱅크 및 동기화된 오디오 클립은 모듈식 부모-자식 요소로 선언됩니다.
2. 고정밀 유리수 시간 표현
비디오 포맷은 분수 프레임 레이트(예: NTSC 표준 $23.976$ fps, $29.97$ fps, $59.94$ fps)에 의존합니다. 이러한 프레임 지속 시간을 단순 소수로 표현하면 장시간 촬영 시 부동소수점 반올림 오류와 오디오-비디오 드리프트가 필연적으로 발생합니다.
FCPXML은 모든 시간 값—오프셋, 지속 시간 및 인/아웃 포인트—을 유리수(초의 분수)로 표현하여 Apple의 Core Media 프레임워크와 일치시킴으로써 이를 해결합니다:
- $24\text{ fps}$ 프레임 지속 시간:
100/2400s또는1/24s - $29.97\text{ fps}$ (NTSC) 프레임 지속 시간:
1001/30000s - $23.976\text{ fps}$ 프레임 지속 시간:
1001/24000s
3. 포괄적인 메타데이터 보존
FCPXML은 전통적인 포맷이 버리는 풍부한 조직 데이터를 캡처합니다:
- 클립 평점 (즐겨찾기, 거부)
- 사용자 정의 키워드 및 스마트 컬렉션
- 편집 마커 및 할 일 메모
- 오디오 역할 및 하위 역할 (대화, 효과, 음악)
- 동적 공간 적합 매개변수 (맞춤, 채우기, 늘리기) 및 변환 키프레임
4. DTD 적용 표준화
Apple은 FCPXML의 모든 버전(버전 1.0부터 1.11+까지)에 대해 명시적인 문서 유형 정의(DTD) 스키마를 유지합니다. 이러한 엄격한 버전 관리는 개발자가 문서를 프로그래밍 방식으로 검증할 수 있게 하며, 프로젝트가 서로 다른 소프트웨어 세대 간에 이동할 때 이전 호환성을 보장합니다.
3. 주요 특성 요약
| 속성 | 사양 |
|---|---|
| 개발자 | Apple Inc. |
| 파일 확장자 | .fcpxml (일반 XML 파일) 또는 .fcpxmld (번들 패키지) |
| 파일 형식 유형 | 인간이 읽을 수 있는 확장 마크업 언어 (XML) |
| 시간 형식 | 초의 유리 분수 (예: value/timescale s) |
| 스키마 검증 | Apple 공식 FCPXML DTD (FCPXML.dtd) |
| 오디오 구성 | 역할 기반 태깅 (대화, 음악, 효과, 사용자 정의 하위 역할) |
| 타임라인 모델 | 자석 타임라인 계층 구조 (<spine>, <sequence>, <clip>, <gap>) |
| 크로스 플랫폼 지원 | macOS, Windows, Linux (파싱 도구, DaVinci Resolve, Premiere 플러그인 통해) |
| 주요 산업 사용 | NLE 교환, 색 보정 컨폼, 오디오 마무리, 아카이빙 |
4. .fcpxml 파일 열기 및 읽는 방법
.fcpxml 파일은 인코딩된 비디오 픽셀을 저장하지 않고(프로젝트 레이아웃 지시와 파일 경로만 포함합니다), 이를 여는 방법은 타임라인을 편집, 다른 NLE에서 컨폼, 또는 원시 코드를 검사하고 싶은지에 따라 달라집니다.
방법 1: Apple Final Cut Pro에 가져오기 (macOS)
- Final Cut Pro를 실행합니다.
- **File > Import > XML…**로 이동합니다.
.fcpxml또는.fcpxmld파일을 찾아 Import를 클릭합니다.- Final Cut Pro는 가져온 프로젝트를 포함하는 새 이벤트를 생성하고, 저장 드라이브에 있는 원본 미디어와 연결합니다.
방법 2: DaVinci Resolve로 라운드 트립 (macOS 및 Windows)
DaVinci Resolve는 색 보정을 위해 FCPXML 시퀀스를 가져오고 내보내는 기본 지원을 포함합니다:
- DaVinci Resolve를 열고 대상 프로젝트를 엽니다.
- **File > Import > Timeline…**을 선택합니다 (또는
Ctrl+Shift+I/Cmd+Shift+I를 누릅니다). .fcpxml파일을 선택합니다.- 컨폼 대화 상자에서 타임라인 해상도를 매핑하고 로컬 저장 드라이브의 소스 파일을 자동으로 연결할지 선택합니다.
방법 3: 일반 텍스트 편집기로 검사 또는 편집
FCPXML은 구조화된 텍스트이므로, 코드 편집기(VS Code, Sublime Text, BBEdit, 또는 Notepad++)에서 열어 누락된 자산을 디버그하거나 디렉터리 경로를 수정할 수 있습니다:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fcpxml>
<fcpxml version="1.11">
<resources>
<format id="r1" name="FFVideoFormat1080p24" frameDuration="100/2400s" width="1920" height="1080"/>
<asset id="r2" name="Interview_A" src="file:///Volumes/Media/Clips/Take1.mov" duration="2400/24s" hasVideo="1" hasAudio="1"/>
</resources>
<library>
<event name="Production Cut">
<project name="Master Sequence">
<sequence format="r1" duration="1200/24s">
<spine>
<asset-clip ref="r2" offset="0s" name="Interview_A" start="100/24s" duration="400/24s"/>
</spine>
</sequence>
</project>
</event>
</library>
</fcpxml>
5. .fcpxml 파일 만들기 및 내보내기
Final Cut Pro에서 FCPXML 내보내기
- Final Cut Pro에서 브라우저 사이드바에서 내보내려는 프로젝트, 이벤트 또는 전체 라이브러리를 강조 표시합니다.
- 상단 메뉴 바로 이동하여 **File > Export XML…**을 선택합니다.
- 내보내기 버전을 선택하세요:
- Current Version (Latest): 최신 DaVinci Resolve 버전 및 업데이트된 오디오 도구에 권장됩니다.
- Previous Version (e.g., 1.9 or 1.10): 레거시 후반 작업 유틸리티나 타사 소프트웨어의 이전 버전으로 전달할 때 권장됩니다.
- 대상 디렉터리를 선택하고 Save를 클릭합니다.
프로그래밍 방식으로 FCPXML 만들기
FCPXML이 개방형 XML 표준을 사용하기 때문에, 소프트웨어 엔지니어, 파이프라인 기술 디렉터, 그리고 AI 전사 서비스는 Python, Swift, 또는 JavaScript를 사용하여 .fcpxml 생성기를 구축하고, 촬영 로그에서 직접 자동 타임라인을 구성할 수 있습니다:
- macOS 터미널에서
xmllint를 사용하여 Apple의 공식 DTD에 대해 구조를 검증하십시오:
xmllint --dtdvalid "/Library/Application Support/Apple/Final Cut Pro DTDs/FCPXMLv1_11.dtd" --noout your_timeline.fcpxml
6. 자주 묻는 질문 (FAQ)
**Q1: .fcpxml 파일에 실제 비디오 및 오디오 영상이 포함되어 있나요? 아니요, FCPXML 파일은 구조적 텍스트 명령, 클립 마커 및 파일 참조만 저장하며, 임베드된 미디어는 포함하지 않습니다.
**Q2: .fcpxml 파일과 .fcpxmld 번들 간의 주요 차이점은 무엇인가요?
.fcpxml은 단일 평문 텍스트 문서이며, .fcpxmld는 XML 문서와 LUT 및 메타데이터와 같은 보조 자산을 함께 보관하는 macOS 패키지 폴더입니다.
**Q3: Adobe Premiere Pro에서 FCPXML 파일을 직접 열 수 있나요? Premiere Pro는 FCPXML을 기본적으로 가져오지 않으며, 서드파티 변환 유틸리티(예: Intelligent Assistance SendToX)를 사용하거나 DaVinci Resolve를 통해 변환해야 합니다.
**Q4: FCPXML이 1001/30000s와 같은 분수를 사용하는 이유는 표준 소수 타임스탬프 대신 무엇 때문인가요?
FCPXML은 유리 분수를 사용하여 부동 소수점 반올림 오류를 없애고, 분수 프레임 레이트에서 오디오-비디오 동기화 드리프트를 방지합니다.
**Q5: Windows PC에서 .fcpxml 파일을 열고 편집할 수 있나요?
예, .fcpxml 파일은 표준 Windows 텍스트 편집기로 확인할 수 있으며 DaVinci Resolve와 같은 Windows 호환 소프트웨어로 가져올 수 있습니다.
7. 참고 자료 및 유용한 리소스
- Apple 개발자 문서: FCPXML 참조 사양
- Apple 개발자 가이드: FCPXML에서 Final Cut Pro 항목 만들기 및 설명
- Apple 지원: Final Cut Pro에서 XML 파일 내보내기
- FileInfo 디렉터리: FCPXML 파일 확장자 기술 개요