관리 메뉴

피터의 개발이야기

GoPro 영상 파일을 촬영 시간 기준으로 일괄 리네이밍하기 (Final Cut 정렬 문제 해결) 본문

LifeStory/생활정보

GoPro 영상 파일을 촬영 시간 기준으로 일괄 리네이밍하기 (Final Cut 정렬 문제 해결)

기록하는 백앤드개발자 2026. 2. 3. 07:16
반응형

ㅁ 들어가며

Final Cut Pro로 여러 소스 영상을 편집하다 보면,
특히 GoPro + 스마트폰 혼합 촬영 환경에서는 클립을 촬영 시간 순으로 정렬하는 것이 생각보다 까다롭다.

GoPro 영상은 기본적으로 다음과 같은 파일명을 가진다.

GX014050.MP4
GX014051.MP4
...

Finder 기준 생성일/수정일은 대부분 Mac으로 복사한 시점이기 때문에,

  • 실제 촬영 순서와 맞지 않고
  • Final Cut의 Content Created 기준 정렬도 깨지는 경우가 많다.

결과적으로 타임라인 구성 단계에서 매번 수동 정렬이 필요해진다.

 

 

ㅁ TL;DR

ㅇ GoPro 영상에는 실제 촬영 시간이 메타데이터로 들어 있다.
ㅇ Finder 생성일은 신뢰하면 안 된다 (복사 시점 기준).
ㅇ 촬영 시간을 파일명에 직접 반영하면 Final Cut 정렬 문제가 깔끔하게 해결된다.
ㅇ exiftool + 간단한 쉘 스크립트로 자동화 가능하다.

 

ㅁ 접근 방법

핵심 아이디어는 단순하다.

영상 내부 메타데이터의 촬영 시간 → 파일명에 직접 반영

 

즉,

GX014050.MP4
↓
20260201_152322_GX014050.MP4

이렇게 만들어 두면:

  • Finder 정렬 OK
  • Final Cut 자동 정렬 OK
  • 프록시 생성 이후에도 순서 유지

편집 전 정리 단계가 거의 사라진다.

 

ㅁ 해결 전략

우선순위는 다음과 같다.

  1. GoPro 영상 내부 촬영 시간
    (DateTimeOriginal / CreateDate / MediaCreateDate 등)
  2. 메타데이터가 없을 경우 → 파일 수정 시간 fallback

이를 위해 exiftool을 사용했다.

macOS 기준 설치:

brew install exiftool

 

ㅁ 리네이밍 스크립트

현재 디렉토리의 MP4/MOV 파일을 대상으로:

  • 촬영 시간 추출
  • YYYYMMDD_HHMMSS_원본파일명 형태로 변경
  • 기본은 dry-run
  • --apply 옵션을 줘야 실제 rename
#!/usr/bin/env bash
set -euo pipefail

APPLY=0
if [[ "${1:-}" == "--apply" ]]; then
  APPLY=1
fi

shopt -s nullglob
FILES=( *.MP4 *.mp4 *.MOV *.mov )

has_exiftool=0
command -v exiftool >/dev/null && has_exiftool=1

for f in "${FILES[@]}"; do
  base="$(basename "$f")"
  name="${base%.*}"
  ext="${base##*.}"

  # 이미 포맷된 파일은 스킵
  if [[ "$name" =~ ^[0-9]{8}_[0-9]{6}_.+ ]]; then
    continue
  fi

  ts=""

  if [[ $has_exiftool -eq 1 ]]; then
    ts="$(exiftool -s3 -d "%Y%m%d_%H%M%S" \
      -DateTimeOriginal -CreateDate -MediaCreateDate \
      "$f" | head -n 1)"
  fi

  # fallback: 파일 수정 시간
  [[ -z "$ts" ]] && ts="$(stat -f "%Sm" -t "%Y%m%d_%H%M%S" "$f")"

  new="${ts}_${name}.${ext}"

  if [[ $APPLY -eq 1 ]]; then
    mv "$f" "$new"
  else
    echo "DRY: $base -> $new"
  fi
done

[[ $APPLY -eq 0 ]] && echo "실제 적용하려면 --apply 옵션 사용"

사용 방법:

chmod +x rename.sh
./rename.sh        # 미리보기
./rename.sh --apply

 

ㅁ 결과

모든 GoPro 영상이 다음 형식으로 정리된다.

20260201_152322_GX014050.MP4
20260201_152327_GX014051.MP4
...

이 상태로 Final Cut에 임포트하면:

  • Browser List View
  • Content Created 정렬

만으로 촬영 순서가 정확히 맞는다.

 

ㅁ 마무리

  • Finder 생성일은 편집 기준으로 부적합하다.
  • GoPro는 내부 메타데이터가 진짜 촬영 시간이다.
  • 편집 전에 파일명을 시간 기반으로 정리해 두면 후반 작업이 극도로 단순해진다.

영상 편집 전에 한 번만 정리해 두면,
타임라인 구성 시간이 체감상 절반 이하로 줄어든다.

 

rename_gopro.sh
0.00MB

반응형
Comments