6.6 AI 메타데이터 - 장면 검출, 음성·문자·얼굴 인식을 MAM에 연결하기
장면 전환 검출(FFmpeg scene 필터 실험), 음성 인식(STT), 문자 인식(OCR), 얼굴·객체 인식 결과를 구간 메타데이터로 저장하는 파이프라인 설계와 신뢰도·검수·평가 방법을 설명합니다.
#왜 AI 메타데이터인가
MAM에서 가장 비싼 일은 사람이 영상을 보며 메타데이터를 입력하는 것입니다. 1시간 영상에 수백 개의 장면이 있어도 사람은 제목과 키워드 몇 개를 입력하는 데 그치기 쉽고, 그러면 나중에 "그 인물이 나오는 장면"을 찾을 수 없습니다. AI 분석은 이 입력을 자동화해서 구간 단위로 풍부한 메타데이터를 만들어 줍니다.
| 기술 | 만들어 내는 메타데이터 | 활용 |
|---|---|---|
| 장면 전환 검출 | 장면(샷) 경계 구간 | 카탈로깅, 대표 썸네일, 구간 검색의 단위 |
| 음성 인식(STT) | 발화 텍스트 + 시간 | 자막, 전문 검색, 요약 |
| 문자 인식(OCR) | 화면 속 글자(자막띠, 간판) + 시간 | 뉴스 자막 검색, 장소·인명 추출 |
| 얼굴 인식 | 인물 등장 구간 | 인물별 검색 |
| 객체·장면 분류 | 사물·장소·행동 태그 | 키워드 검색 |
| 화자 분리 | 누가 말했는가 | 인터뷰 정리 |
| 오디오 분석 | 음악, 박수, 무음 | 편집·QC |
#1) 장면 전환 검출 (직접 실험)
장면 전환 검출은 카탈로깅(Cataloging) 의 시작입니다. 하나의 긴 영상을 장면 단위로 자동 분할하면 각 장면에 메타데이터를 붙이고 검색할 수 있습니다. 별도의 AI 모델 없이도 FFmpeg의 scene 점수로 기본적인 컷 검출이 가능합니다.
8초짜리 테스트 영상(0~2초 빨간 화면, 2~5초 검은 화면, 5~8초 테스트 패턴)에 적용했습니다.
ffmpeg -i qc.mp4 -vf "select='gt(scene,0.4)',showinfo" -an -f null - 2>&1 | grep -o "pts_time:[0-9.]*"
pts_time:2
pts_time:5
화면이 바뀐 2초와 5초 지점이 정확히 검출되었습니다. scene 값(0~1)은 프레임 간 변화량이고, 0.4는 임계값입니다.
| 임계값 | 특징 |
|---|---|
| 낮음(0.2~0.3) | 컷이 많이 잡힘. 카메라 움직임·조명 변화도 컷으로 오인 |
| 중간(0.4) | 일반적 시작값 |
| 높음(0.5~0.6) | 확실한 컷만 검출. 디졸브(점진 전환)는 놓침 |
이 방식의 한계는 점진적 전환(디졸브, 페이드) 과 같은 장면 안의 빠른 움직임입니다. 실무에서는 임계값을 소재 유형별로 조정하고, 필요하면 딥러닝 기반 샷 경계 검출 모델을 씁니다. 검출된 시각은 프록시 타임코드와 일치하도록 변환해서 구간으로 저장합니다(1장).
#2) 음성 인식 (STT)
음성 인식은 방송 영상에서 가장 효과가 큰 AI 메타데이터입니다. 음성을 텍스트로 바꾸면 전체 대화 내용이 검색 대상이 되기 때문입니다.
파이프라인은 다음과 같습니다.
원본/프록시 → 오디오 추출(모노 16kHz 등 모델 요구 형식) → 음성 구간 검출(VAD)
→ STT 모델/서비스 → (단어·문장, 시작·끝 시간, 신뢰도) → 후처리(문장 정리, 고유명사 보정)
→ 구간 메타데이터로 저장 + 검색 색인
오디오 추출은 FFmpeg로 한 줄입니다(4장).
ffmpeg -i input.mxf -map 0:a:0 -ac 1 -ar 16000 -c:a pcm_s16le speech.wav
고려할 점은 다음과 같습니다.
- 어떤 오디오 트랙을 입력으로 쓸지(본방송 트랙) 규칙이 필요합니다. 트랙 구성이 소재마다 다릅니다.
- 배경음악, 현장음, 여러 사람의 동시 발화에서 정확도가 크게 떨어집니다.
- 고유명사(인물명, 지명, 프로그램명)와 방송 전문 용어는 오인식이 잦아, 사용자 사전 또는 후처리 보정이 필요합니다.
- 시간 정보는 단어 또는 문장 단위로 받아야 구간 검색이 가능합니다.
- 서비스(클라우드 API)를 쓰면 영상 데이터가 외부로 나가므로 보안·저작권·개인정보 정책을 확인해야 하고, 사내에서 모델을 돌리면 GPU 자원 계획이 필요합니다.
#3) 문자 인식 (OCR)
뉴스의 자막띠, 도표, 장소 표시 같은 화면 속 글자는 중요한 메타데이터입니다. 영상에서 일정 간격으로 프레임을 추출해 OCR을 돌리고, 같은 텍스트가 연속되면 하나의 구간으로 병합합니다.
# 1초에 1프레임 추출해서 OCR 입력으로 사용
ffmpeg -i proxy.mp4 -vf "fps=1" -q:v 2 ocr/f_%05d.jpg
fps=1이 고르는 프레임은 정확히 0, 1, 2초의 프레임이 아니라 약 0.5초씩 어긋난 시각의 프레임입니다. 시각이 중요하면 원본 PTS를 따로 기록하세요(8장 1편).- 자막이 자주 나오는 화면 영역만 잘라서(crop) 인식하면 속도와 정확도가 올라갑니다.
- 같은 글자가 계속 표시되므로 프레임마다 결과를 저장하지 말고
(텍스트, 시작 시간, 끝 시간)구간으로 병합합니다. - 장면 전환 검출과 함께 쓰면 장면당 한 번만 OCR해서 비용을 줄일 수 있습니다.
#4) 얼굴 인식과 개인정보
특정 인물의 등장 구간을 찾으려면 얼굴 검출 → 얼굴 특징 추출 → 등록된 인물과 비교의 단계를 거칩니다. 효과가 큰 만큼 개인정보와 초상권 이슈가 가장 큰 기능입니다.
- 얼굴 특징 데이터는 생체정보로 취급되는 민감 정보입니다. 수집·보관·이용에 법적 근거와 동의, 보관 기간 정책이 필요합니다.
- 누구를 등록할 수 있는지(출연자, 공인), 누가 검색할 수 있는지 권한을 제한합니다.
- 오인식은 사람에 대한 잘못된 연결로 이어질 수 있으므로 자동 결과를 확정 정보로 노출하지 않고 검수 절차를 둡니다.
#저장 설계
AI 결과는 앞 장의 메타데이터 모델에서 구간(segment) 에 연결합니다. 핵심은 출처와 신뢰도를 반드시 함께 저장하는 것입니다.
{
"assetId": 123,
"segments": [
{
"tcIn": "01:00:12;05", "tcOut": "01:00:18;20",
"type": "stt",
"text": "오늘 오전 광화문에서 열린 집회에는...",
"confidence": 0.91,
"source": "stt-model-v3",
"reviewed": false
},
{
"tcIn": "01:00:14;00", "tcOut": "01:00:17;10",
"type": "ocr",
"text": "서울 광화문광장",
"confidence": 0.84,
"source": "ocr-model-v2",
"reviewed": true,
"reviewedBy": "editor01"
}
]
}
(위 JSON은 구조를 설명하기 위한 예시 스키마이며 특정 제품의 출력이 아닙니다.)
| 필드 | 이유 |
|---|---|
type, source |
어떤 기술·모델·버전이 만들었는지(재처리와 품질 추적) |
confidence |
낮은 값은 검색 가중치를 낮추거나 검수 대상으로 |
reviewed, reviewedBy |
사람이 확인·수정한 결과 보호 (재처리 시 덮어쓰지 않음) |
| 타임코드 구간 | 구간 검색, 프록시 점프 |
#품질 평가와 운영
AI 결과의 품질은 측정하지 않으면 알 수 없습니다.
- 평가 세트 구축: 실제 소재에서 샘플을 뽑아 사람이 정답(자막, 인물, 장면 경계)을 만든다.
- 지표: STT는 단어 오류율(WER), 장면 검출은 정밀도/재현율, 얼굴 인식은 오인식률.
- 소재 유형별 분리 측정: 뉴스, 드라마, 예능, 스포츠는 성능이 크게 다릅니다.
- 모델·버전 변경 시 회귀 비교: 이전 버전보다 나빠지지 않았는지 확인한다.
- 운영 중 피드백 수집: 사용자가 결과를 수정할 때마다 품질 개선 데이터로 쌓는다.
처리 비용도 설계에 포함됩니다. 모든 소재에 모든 분석을 돌릴 필요는 없습니다. 가치가 높은 소재(보존 대상, 재사용 빈도가 높은 프로그램)에 우선 적용하고, 오래된 아카이브는 단계적으로 처리하며, 결과를 캐시해 재분석을 줄입니다.
#정리
- AI 메타데이터는 사람의 입력을 대체하는 것이 아니라 구간 단위의 풍부한 후보 정보를 자동으로 만드는 기술입니다.
- 장면 검출은 FFmpeg
scene점수로 시작할 수 있고, STT·OCR·얼굴 인식은 파이프라인과 저장 설계(출처·신뢰도·검수 상태)가 핵심입니다. - 얼굴 정보는 개인정보 이슈가 크고, 재분석 시 사람이 고친 값을 보호해야 하며, 품질은 평가 세트로 측정해야 합니다.