Skip to content

11 20 회의

Seungheon Han edited this page Nov 30, 2024 · 1 revision

백엔드 및 프론트 작업 정리


안건 1: 화질 조정

  • 백엔드 이벤트 필요: 사용자 선택에 따른 화질 조정 이벤트 구현.
  • 화질 조정 테스트 필요:
    • 기본값: auto로 설정 (bitrate는 min, max 값에 따라 자동 설정).
    • 사용자가 360, 480, 720 중 하나를 선택 → 이벤트 발생.
    • 서버에서 Consumer의 bitrate를 사용자 선택에 맞게 고정.

안건 2: 채팅

  • 이벤트 흐름:
    • 채팅방 생성: 방송 생성 시 채팅방 생성 이벤트 발생 (소켓 2개).
    • 채팅방 입장: 시청 페이지 입장 시 채팅방 입장 이벤트 발생 (소켓 2개).
    • 채팅방 떠나기: 시청 종료 시(창 닫기 등) 채팅방 떠나기 이벤트 발생.
    • 채팅방 삭제: 방송 종료 시 채팅방 삭제 이벤트 발생.
    • 채팅 이벤트:
      • 사용자가 채팅 입력 → 이벤트 발생.
      • 해당 채팅방의 모든 유저에게 채팅 전달.
      • 모든 유저는 socket.on으로 채팅 수신 후 상태 업데이트 및 UI 리렌더링.

안건 3: 녹화 (썸네일)

  • 썸네일 업데이트:
    • 주기: 30초마다 썸네일 변경 (데모에서는 10초).
    • 저장소: Object Storage에 업로드한 URL을 데이터베이스에 저장.
  • 방송 리스트:
    • 방송 시작 시 리스트에 썸네일 표시.
    • 방송 입장 시 채팅 가능.

주요 이슈

1. 방송 시 개인 이슈 발생

  • 현상: 일부 사용자(희선) 방송창에서 방송은 정상 작동하지만 에러 화면이 보임.
  • 해결 방향:
    • 개인 환경 문제 확인.
    • 로그 확인 및 디버깅.

2. 방송 설정창 종료 문제

  • 현상: 설정창을 "닫기" 눌렀을 때 방송 종료가 되지 않음.
  • 원인: 프론트에서 관련 로직이 실행되지 않음.
  • 해결 방향:
    • 프론트에서 창 닫기 시 종료 로직 추가.

3. Transport 끊김 처리

  • 현상: Transport가 끊겼을 때 적절한 정리 필요.
  • 해결 방향:
    • socket.disconnect 발생 시 모든 연결 정리:
      • 송출자: stopBroadcast 실행.
      • 수신자: leaveBroadcast 실행.
    • 소켓과 Room 1:1 매칭하여 정리 로직 구현.

4. 방 정보 미존재 이슈

  • 현상: 방 정보가 없을 때 서버가 의도치 않게 종료.
  • 해결 방향:
    • 종료 원인 분석 및 예외 처리 구현.

썸네일 처리

  • 사진 경로 저장: Object Storage 경로를 데이터베이스에 저장하여 제공.
  • Room 생성 시 고정 URI 지정.

내일까지 해야 할 작업

백엔드

  1. 데이터베이스

    • 썸네일 저장 로직 추가 (Room 생성 시 URI 고정).
  2. PlainTransport

    • Room 닫힐 때 PlainTransport 종료 처리.
    • Transport 관련 데이터 정리.
  3. 소켓 끊김 정리 로직

    • socket.disconnect 시:
      • roomId === socketId 확인 후 Room 정리.
      • transportId === socketId 확인 후 Transport 정리.
  4. 방 정보 미존재 서버 종료 이슈 해결

    • 원인 파악 및 의도치 않은 종료 방지.
  5. 배포 스크립트 작성

    • 포트 매핑:
      • Media 서버: 30000~31000.
      • Record 서버: 10000~10300.
    • FFmpeg 설치.
    • WebRTC 및 PlainTransport 포트 통합:
      • MIN_PORTMAX_PORT 상수 생성하여 통합 관리.

프론트

  1. 채팅 로직 구현
    • 채팅 입력, 수신 및 UI 업데이트 로직 완성.

👥 팀 강점

🧑‍💻 개발 일지

📌 ALL

📌 FE

📌 BE

💥 트러블 슈팅

📌 FE

📌 BE

🤔 고민

📚 학습 정리

📌 김광현

📌 백지연

📌 전희선

📌 한승헌

🤝 회의록

🗒️ 데일리 스크럼

💬 팀 회고


👨‍👩‍👧‍👦 소개

🌱 문화

🔨 기술 스택

⚙️ 서비스 아키텍쳐

🚧 CI/CD

🌊 Flow

💭 6주를 보내면서

Clone this wiki locally