타임라인 사용법

타임라인은 트랙 · 클립 · 키프레임으로 구성되며, JSON 파일이 SSOT(단일 진실 공급원)입니다.

타임라인 구조

타임라인은 세 가지 단위로 이루어집니다.

  • 트랙(Track): 비디오 · 오디오 · 자막 레이어. 위로 갈수록 앞에 그려집니다.
  • 클립(Clip): 트랙 위의 사각형 하나. 시작·끝 시간, 소스 파일 경로, 트랜지션 정보를 가집니다.
  • 키프레임(Keyframe): 클립 안에서 시간에 따라 변하는 속성 (위치, 크기, 투명도, 볼륨).

트랙 추가하기

  1. 타임라인 좌측의 + 버튼을 누르고 비디오/오디오/자막 중 선택합니다.
  2. 드래그로 트랙 순서를 바꿉니다. 위 트랙이 합성 시 앞에 옵니다.
  3. 트랙 우측의 ☰ 햄버거에서 솔로/뮤트/잠금 토글이 가능합니다.

클립 조작

  • 이동: 클립 본체를 드래그
  • 트림: 양끝 핸들을 드래그 (시작/끝 시간 변경)
  • 분할: 재생헤드 위에서 S 키 또는 우클릭 → Split
  • 삭제: 선택 후 Delete
  • 복제: Ctrl/Cmd + D

멀티 선택과 그룹 이동

빈 공간에서 드래그하면 선택 박스가 나타납니다. 박스 안의 클립을 한 번에 이동·삭제할 수 있습니다.

Shift를 누른 채 클립을 클릭하면 여러 클립을 토글 선택할 수 있습니다.

줌과 스냅

  • 마우스 휠 — 재생헤드 기준 줌 인/아웃
  • 자석(스냅) 아이콘 — 다른 클립 끝·재생헤드·마커에 자동 정렬
  • Home / End — 타임라인 시작/끝으로 이동

키프레임 애니메이션

클립을 선택하고 우측 인스펙터에서 속성을 변경하면 현재 시간에 자동으로 키프레임이 찍힙니다. 키프레임 사이는 다음 곡선으로 보간됩니다.

  • Linear — 일정한 속도
  • Ease In / Out — 천천히 시작 또는 끝
  • Hold — 다음 키프레임까지 값 고정
예제

페이드 인: 시작 시점에 opacity 0, 1초 뒤 opacity 1, Linear 보간.

타임라인 JSON 직접 편집

~/.bom/timelines/<project>.json 을 외부 에디터로 열어 직접 수정해도 됩니다. FileSystemWatcher가 변경을 감지해 즉시 편집기에 반영합니다.

json
{
  "version": 1,
  "tracks": [
    {
      "type": "video",
      "clips": [
        { "source": "intro.mp4", "in": 0, "out": 3.0, "start": 0 }
      ]
    }
  ]
}
주의

스키마는 src/Bom.Core/Constants/BomAvTimelineProtocol.cs 가 SSOT입니다. 잘못된 키를 넣으면 자동으로 백업 폴더로 이동합니다.

백업과 복구

타임라인이 의도치 않게 손상돼도 ~/.bom/timelines/.backup/ 폴더에 5분 간격 자동 백업이 쌓입니다. 파일을 복사해 덮어쓰면 복구됩니다.