C.W.K.
Stream
Lesson 05 of 08 · published

Corrupt 파일 복구

~10 min · recovery, corrupt, moov, untrunc

Level 0Viewer
0 XP0/73 lessons0/15 achievements
0/100 XP to next level100 XP to go0% complete

두 흔한 failure mode

  1. Truncated MP4 (no moov atom) — 보통 Ctrl+C 된 녹화 또는 mid-record 배터리 죽은 폰. 파일 데이터 있지만 index 없음. 많은 player 가 'cannot open' 보여.
  2. Bitstream corruption — bad sector, partial download. 일부 frame decode, 일부 안 됨.

복구 도구

  • FFmpeg -fflags +genpts 와 함께 remux — 가끔 moov atom regenerate.
  • untrunc — moov 빠진 truncated MP4 위한 open-source 도구. brew install untrunc. 같은 카메라의 'reference' 파일 필요.
  • FFmpeg -err_detect ignore_err — corrupt bitstream 에 decode 가능한 거 decode + 안 되는 거 skip.

Code

복구 시도·bash
# Remux 먼저 시도
ffmpeg -fflags +genpts -i broken.mp4 -c copy fixed.mp4

# Error skip + decode 가능한 거 re-encode
ffmpeg -err_detect ignore_err -i broken.mp4 \
  -c:v libx264 -crf 22 -preset fast \
  -c:a aac -b:a 192k \
  recovered.mp4

# untrunc: 같은 카메라/source 의 reference (good) 파일 필요
untrunc reference_good.mp4 broken.mp4
# broken.mp4_fixed.mp4 출력
먼저 진단·bash
# 실제로 뭐가 문제인지 확인
ffprobe -v error -show_error broken.mp4
# moov atom not found  → untrunc 사용
# Invalid NAL unit size → bitstream corruption, ignore_err 시도

# 파일이 얼마나 복구 가능한지 추정
ffmpeg -i broken.mp4 -f null - 2>&1 | grep -E 'frame=|error|Error'

External links

Exercise

일부러 video corrupt: truncate -s 80% in.mp4. 재생 시도 (probably fail). Remux + genpts 시도. Fail 면 brew install untrunc + 원본 파일을 reference 로 시도. 원본의 어느 fraction 복구 가능 메모.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.