홈 › 7장 트러블슈팅 케이스북

7.3 사례 3 - 인터레이스 여부를 잘못 판단했을 때

플래그와 실제 내용이 다른 경우를 idet 필터로 구별하는 방법, 디인터레이스 오적용과 누락의 증상, 자동 판정 규칙과 예외 처리를 재현 실험으로 설명합니다.

최종 수정 2026-10-28 · 읽는 시간 약 4분 · 운영 프리즘(Prism) · 편집 원칙

#증상

  • 변환한 영상에서 움직이는 물체의 가장자리에 빗살 무늬가 보인다(디인터레이스 누락).
  • 반대로 정지 화면이나 자막이 흐릿하고 해상도가 떨어져 보인다(프로그레시브에 디인터레이스를 적용).
  • 어떤 소재는 괜찮고 어떤 소재만 문제가 생긴다.

#원인: 메타데이터(플래그)와 실제 내용이 다를 수 있다

인터레이스 여부는 두 곳에서 알 수 있습니다.

정보 출처 의미
플래그 컨테이너/스트림 헤더(MediaInfo Scan type, FFprobe field_order) 파일이 "그렇다고 선언한 것"
실제 내용 프레임의 화소 분석 영상이 실제로 그런가

둘이 다른 경우가 있습니다. 예를 들어 프로그레시브로 제작한 영상을 방송 장비 규격에 맞추려고 인터레이스 플래그를 붙여서 인코딩하거나, 반대로 인터레이스 영상에 프로그레시브 플래그가 붙어 있는 경우입니다. 플래그만 믿고 변환하면 위 증상이 나옵니다.

#재현: idet 필터로 실제 내용 판별

FFmpeg의 idet 필터는 프레임을 분석해서 TFF(상단 필드 우선), BFF(하단 필드 우선), Progressive로 분류해 통계를 보여 줍니다.

ffmpeg -hide_banner -nostats -i input.mp4 -vf idet -f null - 2>&1 | grep "Multi frame detection"

세 종류의 파일을 분석했습니다.

파일 플래그 idet 결과(Multi frame detection)
진짜 인터레이스(60fps 프로그레시브를 interlace 필터로 인터레이스화) 인터레이스 TFF: 90, BFF: 0, Progressive: 0
일반 H.264 프록시 프로그레시브 Progressive: 150
테스트 MXF(인터레이스 플래그를 붙인 프로그레시브 내용) 인터레이스(tt) Progressive: 150

세 번째가 핵심입니다. 플래그는 인터레이스인데, 내용은 프로그레시브입니다. 이 파일에 yadif를 적용하면 멀쩡한 프레임을 불필요하게 뭉개게 됩니다. 반대 경우(진짜 인터레이스인데 프로그레시브 플래그)에는 디인터레이스를 건너뛰어 빗살 무늬가 남습니다.

(idet는 출력에 같은 항목이 두 번 나옵니다. 첫 번째는 필터 초기화용으로 0이고, 마지막 블록이 실제 결과입니다.)

#자동 판정 규칙

분석 단계에서 플래그와 idet 결과를 모두 보고 정책을 정합니다.

플래그 idet 우세 결과 판정 처리
인터레이스 TFF/BFF 정상 디인터레이스(필드 순서 지정)
인터레이스 Progressive 오표기 디인터레이스 건너뜀, 로그에 기록
프로그레시브 Progressive 정상 그대로
프로그레시브 TFF/BFF 오표기 디인터레이스 적용, 로그에 기록
어느 쪽이든 Undetermined가 많음 판정 불가 샘플을 사람이 확인
# 분석: 3초 샘플로 빠르게 (전체를 돌릴 필요 없음)
ffmpeg -hide_banner -nostats -ss 30 -t 3 -i input.mxf -vf idet -f null - 2>&1 | grep "Multi frame detection"
  • 샘플링: 전체를 분석하면 오래 걸리므로 앞·중간·뒤 구간에서 몇 초씩만 분석합니다. 단, 편집으로 이어 붙인 소재는 구간마다 다를 수 있습니다(인터레이스와 프로그레시브가 섞임). 혼합이 의심되면 샘플을 늘립니다.
  • 임계값: 한 가지 결과가 압도적(예: 95% 이상)일 때만 확정하고, 아니면 사람이 확인합니다.
  • 필드 순서(TFF/BFF)도 idet 결과를 참고해 yadif의 parity 옵션을 지정하거나 자동 감지(-1)를 씁니다. 필드 순서를 틀리면 움직임이 앞뒤로 떨리는 증상이 나옵니다.

#증상으로 거꾸로 찾기

증상 의심 확인
가장자리에 빗살 무늬 인터레이스인데 디인터레이스 안 함 idet에서 TFF/BFF가 우세한가
정지 화면이 흐리고 윤곽이 번짐 프로그레시브인데 디인터레이스 적용 idet에서 Progressive가 우세한가
움직임이 앞뒤로 떨림(저더) 필드 순서 오류 TFF/BFF 구분과 yadif parity
프레임레이트가 두 배로 늘어남 yadif=1(send_field) 사용 필터 모드(5장 4편)
일부 구간만 문제 인터레이스/프로그레시브 혼합 소재 구간별 idet

#재발 방지

  • 인제스트 분석에서 플래그와 idet 결과를 모두 저장한다(정규화 레코드에 scan_flag, scan_detected).
  • 불일치 건은 자동 처리하지 말고 경고를 남긴다. 반복적으로 불일치하는 입수처가 있다면 그곳의 설정 문제일 수 있다.
  • 변환 프로파일에서 디인터레이스를 무조건 적용하지 않고 분석 결과에 따라 적용한다.

#정리

  • 플래그는 "선언"이고 실제 내용은 다를 수 있으므로, idet로 내용을 확인합니다.
  • 플래그와 내용이 다르면 오표기로 판정해 로그에 남기고, 판정 불가는 사람이 확인합니다.
  • 디인터레이스는 소스 분석 결과에 따라 적용하고, 필드 순서와 모드도 함께 검증합니다.

#참고 자료

링크는 2026-10-28에 열람이 되는 것을 확인했습니다. 규격과 도구 문서는 개정될 수 있으므로 적용하기 전에 최신 판을 확인하세요.