Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- AI
- Pinpoint
- SRE
- 기록으로 실력을 쌓자
- kotlin coroutine
- 정보처리기사 실기 기출문제
- aws
- minikube
- Spring
- kotlin
- PETERICA
- golang
- 코틀린 코루틴의 정석
- Rag
- CloudWatch
- Linux
- tucker의 go 언어 프로그래밍
- CKA
- MySQL
- 티스토리챌린지
- 바이브코딩
- Java
- AWS EKS
- 공부
- Kubernetes
- go
- CKA 기출문제
- APM
- 오블완
- LLM
Archives
- Today
- Total
피터의 개발이야기
GoPro 영상 파일을 촬영 시간 기준으로 일괄 리네이밍하기 (Final Cut 정렬 문제 해결) 본문
반응형

ㅁ 들어가며
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
- 프록시 생성 이후에도 순서 유지
편집 전 정리 단계가 거의 사라진다.
ㅁ 해결 전략
우선순위는 다음과 같다.
- GoPro 영상 내부 촬영 시간
(DateTimeOriginal / CreateDate / MediaCreateDate 등) - 메타데이터가 없을 경우 → 파일 수정 시간 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는 내부 메타데이터가 진짜 촬영 시간이다.
- 편집 전에 파일명을 시간 기반으로 정리해 두면 후반 작업이 극도로 단순해진다.
영상 편집 전에 한 번만 정리해 두면,
타임라인 구성 시간이 체감상 절반 이하로 줄어든다.
반응형
'LifeStory > 생활정보' 카테고리의 다른 글
| 선거를 보면 정치가 아니라 유동성이 보인다 - 금리·달러·자산시장으로 해석하는 금융 사이클 (0) | 2026.02.26 |
|---|---|
| [경제] 고환율·고물가 국면에 대한 나의 정리 (0) | 2025.12.17 |
| 인플레이션 대비 가계 재무전략 (0) | 2025.12.03 |
| 📌 2026년 가계 재무 계획 — 핵심 요약 (0) | 2025.12.03 |
| 왜 우리는 가난해지는가: 인플레이션과 화폐 사기의 진짜 얼굴 (0) | 2025.12.02 |
Comments
