Skip to content

Feat: 회의 음성 처리 및 분석 & 결과 저장#13

Merged
Yujin1219 merged 9 commits into
developfrom
feat/meeting-anal
Apr 29, 2026
Merged

Feat: 회의 음성 처리 및 분석 & 결과 저장#13
Yujin1219 merged 9 commits into
developfrom
feat/meeting-anal

Conversation

@ggamnunq
Copy link
Copy Markdown
Contributor

🎯 작업 내용

주요 변경사항

  • 회의 오디오 녹음본 조회 및 재생 API 추가
  • LiveKit Egress 기반 회의 종료 후 오디오 분석 자동 실행 연동
  • FastAPI 전사/회의분석 비동기 실행 API 연동
  • 회의 분석 결과 조회 API 구현
  • S3 private 버킷 기준 presigned URL 방식으로 오디오 재생 지원
  • 회의 종료시 회의 분석, 대화 데이터 저장하도록 구현

상세 내용

MeetingAudioReplayService

  • 회의별 오디오 파일 key 선택 로직 정리
  • .mp4 / .ogg 대체 key 처리
  • presigned URL 생성 로직 분리
  • 오디오 재생 시간 조회 로직 분리

MeetingAnalysisService

  • 회의 종료 후 오디오 분석 전체 흐름 담당
  • 오디오 준비 대기 후 FastAPI 비동기 run 생성
  • GET /api/transcribe/applications/runs/{run_id} 폴링 후 최종 결과 수집
  • 분석 결과를 MeetingAnalysisDialogue로 저장
  • applications 저장은 TODO로 분리
  • 각 메서드 역할 주석 추가로 가독성 개선

MeetingAnalysis

  • 회의 제목, 회의 목적, 회의 시간은 일반 컬럼으로 저장
  • 논의 주제, 핵심 맥락, 결정 근거는 AttributeConverter로 List <-> String 변환
  • 원본 분석 결과는 analysis_content에 JSON 문자열로 함께 저장
  • MeetingAnalysisPayload를 통해 생성/수정 입력값 묶음 처리

Dialogue

  • FastAPI 전사 세그먼트 기반으로 회의 대화 기록 저장
  • 화자 정보와 회의 시작 시각을 기반으로 대화 시점 계산

FastAPI 연동

  • FastApiClient와 api별 Client 클래스 작성
  • FastApiInfo에서 fastapi api 정보 정리
  • 전사/회의분석 비동기 실행 생성 API 연동
  • 실행 상태 조회 API 연동

S3 / 오디오 재생

  • 회의 오디오를 S3 private 버킷에 저장된 상태로 처리
  • 브라우저 재생용 audioUrl은 presigned URL로 반환
  • 오디오 재생 시간은 서버에서 조회해 audioDuration으로 반환
  • 파일이 아직 준비되지 않았거나 길이를 알 수 없으면 null 반환

운영/흐름

  • 회의 종료 시 트랜잭션 커밋 이후 비동기 분석 시작
  • 분석 실패 시 로그 및 예외 처리 분리
  • FastAPI run 조회 404는 일시적 유실 가능성을 고려해 재시도 처리

✅ 체크리스트

  • 코드 빌드가 정상적으로 완료되었나요?
  • 코드 리뷰 요청 전 self-review를 진행했나요?

📋 참고 이미지

image image

💬 리뷰 요청사항 (선택)

📚 참고 자료 (선택)

@ggamnunq ggamnunq self-assigned this Apr 29, 2026
@ggamnunq ggamnunq changed the title Feat: 녹음 정보 저장 및 분석 Feat: 회의 음성 처리 및 분석 & 결과 저장 Apr 29, 2026
Copy link
Copy Markdown
Member

@Yujin1219 Yujin1219 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

확인했습니다. 수고하셨습니다!

@Yujin1219 Yujin1219 merged commit bc6cf66 into develop Apr 29, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants