WebRTC 미디어전송 버전(구현중) 노션 링크

https://www.notion.so/modulabs/Livekit-WebRTC-Demo-2015c8e5427d80249b65e9e70aed5a53

이번 코드는 cursor.ai의 도움을 받아 만들었습니다.

Livekit 웹 UI와 서버 간 통신 구현

구성: WebRTC 서버(Livekit), STT (Whisper), TTS (gTTS), LLM (OpenAI)

목표: 최대한 로컬 모델을 사용하여 DEMO 구성

오디오는 아직 WebRTC 오디오스트림 전송 대신 http 방식으로 Livekit SDK는 토큰 검증과 대화방 구성에만 사용중입니다.

(WebRTC 스트리밍 추가 예정)

DEMO 순서

(1) 브라우저에서 녹음 시작 버튼 클릭 후 종료 클릭까지 음성 녹음

(2) 서버로 사용자 음성 전송

(3) 서버에서 STT + LLM + TTS 처리

(4) TTS결과음성 브라우저로 전송+스피커 재생

(현재 HTTP로 구현된 전송을 WebRTC 스트리밍으로 변경계획, Python이 WebRTC 스트림 기능을 전부 지원하는지는 확인 필요, 서버용 공식 SDK로 LiveKit의 go 언어 모듈도 있음 https://github.com/livekit/server-sdk-go)

콘솔창은 총 4개로 포트 3000 (웹페이지), 5000 (토큰서버), 5001 (Flask 서버) + Livekit exe파일