시스템 구성 개요
모듈 구성
섹션 제목: “모듈 구성”주력 파이프라인 (Gemini 기반 — 7개 모듈)
섹션 제목: “주력 파이프라인 (Gemini 기반 — 7개 모듈)”| # | 모듈명 | 역할 | 핵심 기술 |
|---|---|---|---|
| 1 | 영상 입력부 | 영상 업로드, 메타데이터 추출 | AWS S3, FFmpeg (메타 추출) |
| 2 | 영상 분석부 | 비디오 직접 분석 — 장면/인물/객체/동작 인식 + 오디오 동시 분석 | Gemini 2.5 Flash (네이티브 비디오 입력) |
| 3 | AI 해설 생성부 | 화면해설 초안 자동 생성 | Gemini 2.5 Flash / Pro |
| 4 | 해설 데이터 저장부 | 해설 텍스트 + 타임코드 저장 | PostgreSQL, JSON/SRT |
| 5 | 협업 편집부 | 다중 사용자 실시간 편집 | React, WebSocket, CRDT |
| 6 | 편집 결과 저장부 | 편집 이력 관리, 버전 관리 | PostgreSQL, S3 |
| 7 | 사용자 제공부 | TTS 합성 + 최종 해설 영상 제공 | Google Cloud TTS, FFmpeg |
핵심 변경: Gemini 2.5는 MP4 파일을 직접 업로드하여 비디오+오디오를 동시 분석할 수 있으므로, FFmpeg 프레임 추출 모듈과 별도 STT 단계가 불필요합니다. 이로 인해 기존 9개 모듈 → 7개로 단순화되었습니다.
대안 파이프라인 (GPT-4o 사용 시 — 추가 모듈)
섹션 제목: “대안 파이프라인 (GPT-4o 사용 시 — 추가 모듈)”GPT-4o Vision을 사용하는 경우 아래 모듈이 추가로 필요합니다:
| # | 모듈명 | 역할 | 핵심 기술 |
|---|---|---|---|
| +A | 프레임 추출부 | 영상에서 분석용 정지 이미지 추출 | FFmpeg (c5.xlarge) |
| +B | 음성 인식(STT)부 | 기존 음성/대사 추출, 화자 분리 | Whisper API, gpt-4o-transcribe-diarize |
공통 모듈 (고도화 단계)
섹션 제목: “공통 모듈 (고도화 단계)”| # | 모듈명 | 역할 | 핵심 기술 |
|---|---|---|---|
| 8 | 학습 데이터 생성부 | 편집 결과를 학습 데이터로 변환 | Python ETL 파이프라인 |
| 9 | AI 모델 갱신부 | Fine-tuning 기반 모델 개선 | Gemini / OpenAI Fine-tuning API |
데이터 흐름
섹션 제목: “데이터 흐름”주력: Gemini 기반 (12단계)
섹션 제목: “주력: Gemini 기반 (12단계)”영상 업로드 → 메타데이터 추출 → Gemini 비디오+오디오 분석→ AI 해설 초안 생성 → 해설 데이터 저장 → 협업 편집 UI 제공→ 편집/수정 → 편집 결과 저장 → TTS 합성 → 최종 영상 합성→ 사용자 제공 → (학습 데이터 생성 → AI 모델 갱신)단계별 설명
섹션 제목: “단계별 설명”- 영상 업로드: 사용자가 영상 파일(MP4)을 시스템에 업로드
- 메타데이터 추출: FFmpeg로 영상 메타데이터(해상도, 길이, 코덱 등) 추출
- Gemini 비디오+오디오 분석: 영상 파일을 Gemini API에 직접 업로드 → 장면 분석, 인물/객체/동작 인식, 기존 음성/대사 동시 추출 (1 FPS 자동 샘플링, 258 tokens/초 비디오 + 25 tokens/초 오디오)
- AI 해설 초안 생성: Gemini가 비디오 분석 결과와 오디오 분석(대사 타이밍)을 바탕으로 화면해설 텍스트 초안 자동 생성 (대사 구간을 피해 해설 삽입 위치 결정)
- 해설 데이터 저장: 생성된 해설 텍스트와 타임코드를 PostgreSQL에 저장
- 협업 편집 UI 제공: React + CRDT 기반 실시간 편집 인터페이스 제공
- 편집/수정: 전문가가 AI 생성 해설을 검토/수정
- 편집 결과 저장: 편집 이력과 버전 관리
- TTS 합성: 확정된 해설 텍스트를 음성으로 변환 (SSML로 속도/일시정지 제어 → WaveNet 또는 Neural2 사용)
- 최종 영상 합성: 원본 영상에 해설 음성을 합성 (FFmpeg 오디오 믹싱)
- 사용자 제공: 최종 화면해설 영상 배포
- 학습 데이터 생성 → AI 모델 갱신: 편집 결과를 학습 데이터로 변환하여 모델 품질 지속 개선
Gemini의 핵심 장점: 비디오와 오디오를 단일 API 호출로 동시 분석하므로, 기존 “프레임 추출 → Vision API → Whisper STT” 3단계가 1단계로 통합됩니다. 타임스탬프 기반 질의(MM:SS 형식)가 가능하여 화면해설 타이밍 동기화에 적합합니다.
대안: GPT-4o 기반 (15단계)
섹션 제목: “대안: GPT-4o 기반 (15단계)”GPT-4o Vision을 사용하는 경우 기존 파이프라인이 필요합니다:
영상 업로드 → 포맷 변환/메타 추출 → 프레임 추출 → 장면 분석 → 음성 분석(STT)→ AI 해설 초안 생성 → 해설 데이터 저장 → 협업 편집 UI 제공→ 편집/수정 → 편집 결과 저장 → TTS 합성 → 최종 영상 합성→ 사용자 제공 → 학습 데이터 생성 → AI 모델 갱신GPT-4o 파이프라인 단계별 설명 (접기/펼치기)
- 영상 업로드: 사용자가 영상 파일을 시스템에 업로드
- 포맷 변환/메타 추출: FFmpeg로 영상 포맷 변환 및 메타데이터 추출
- 프레임 추출: FFmpeg로 일정 간격(30초당 1프레임 등)으로 정지 이미지 추출 (GPT-4o Vision은 영상을 직접 처리할 수 없음)
- 장면 분석: 추출된 프레임 이미지를 GPT-4o Vision에 전송하여 장면 내용, 인물/객체 인식
- 음성 분석: Whisper API로 기존 음성/대사 추출 (파일 크기 25MB 제한 → 분할 업로드 필요). 화자 분리 시
gpt-4o-transcribe-diarize또는 pyannote-audio 활용 - AI 해설 초안 생성: 분석 결과와 STT 타이밍 데이터를 바탕으로 GPT-4o가 화면해설 텍스트 초안 생성
- 해설 데이터 저장: PostgreSQL에 저장
- 협업 편집 UI 제공: React + CRDT 기반 편집 인터페이스
- 편집/수정: 전문가 검토/수정
- 편집 결과 저장: 편집 이력과 버전 관리
- TTS 합성: WaveNet/Neural2 사용 (SSML 지원)
- 최종 영상 합성: 원본 영상에 해설 음성 합성
- 사용자 제공: 최종 영상 배포
- 학습 데이터 생성: 편집 데이터 → 학습 데이터 변환
- AI 모델 갱신: Fine-tuning으로 모델 개선