Skip to content

11 20 데일리 스크럼

Seungheon Han edited this page Nov 22, 2024 · 1 revision
📌

안건 1: 화질 조정

  • 백엔드에서 이벤트 만들어줘야함
  • 화질 조정하는게 테스트가 필요하다
  • default를 auto → bitrate 자동으로 정해짐 min, max만 설정해뒀기 때문
  • 그다음에 사용자가 360, 480, 720에서 선택 → 이벤트 발생,
  • 그러면 이제 서버에서 consumer의 bitrate 화질에 맞게 고정시켜버림

안건 2: 채팅

  • 서버로 이벤트 발생
    • (체크인) 방송 생성될때 → 채팅방 생성 이벤트 발생 (소켓 2개)
    • 시청페이지 입장할때 → 채팅방 입장 이벤트 발생 (소켓 2개)
    • 시청 그만둘때 (창끌때 등등) → 채팅방 떠나기 이벤트 발생
    • 방송 그만둘때 → 채팅방 삭제 이벤트 발생
    • 채팅치면 → 채팅 이벤트 발생 → 방안의 모든 유저에게 챗 전송
    • 모든 유저는 socket.on으로 채팅 들을 준비 해야함 → 채팅이 들어오면 상태 업데이트 → 컴포넌트 리렌더링해서 화면에 보여짐

안건 3: 녹화 (썸네일)

  • 30초에 한번씩 썸네일 변경? (데모에서는 10초)
  • 데이터베이스 object storage에 업로드한 url을 저장
  • 녹화는 아직 생각 안함

썸네일과 채팅

방송을 시작하면 방송 리스트가 보이고, 거기에 썸네일까지

방송 입장하면 채팅 가능

이슈

  • 다른사람은 잘 되는데 희선의 방송창은 방송이 잘 켜지고 시청이 됨에도 불구하고 에러 화면이 보임

    → 개인 이슈?

    → 한번 확인

  • 방송설정창을 체크아웃이 아닌 바로 닫기를 눌렀을때 방송 종료가 안됨

    → 한번 확인

    → 프론트에서 창을 엑스눌러서 발생해야하는 로직이 발생 안함

  • 서버측에서 transport가 끊겼을때?

    • socket disconnect ⇒ 싸그리정리 (챗서버에도 적용해야할거같음)
    • socket이랑 room이랑 1대1로 매칭
      • 송출자 room → stopBroadcast 실행 service 로직의 (서버에서실행)
      • 수신자 tranport + consumer → leaveBroadcast 실행 service 로직의 (서버에서실행)
    • socket이 끊겼을 때 다 처리해버리자
    • 이벤트 호출 X, 소켓 끊기면 서버에서 처리
  • 방송 리스트 조회

  • 방 정보가 존재하지 않을때 서버가 종료되는 이슈

썸네일

→ 사진에 대한 경로를 데이터베이스에 저장, 직접 제공

내일까지 할거

백엔드

  • 데이터베이스 썸네일 저장하기
    • room 생성 시, 고정 uri 지정
  • Plaintranport
    • plaintransport room 닫히면 종료
    • 정리잘하자

  • 서버측에서 Socket이 끊겼을 때 정리해주는거

    • socket이 끊겼을때
    • roomId === socketId
    • tranposrtId === socketId
  • 방 정보가 존재하지 않을때 서버가 종료되는 이슈

    • 의도치 않게 종료되는 원인 찾고 해결

  • 배포 스크립트 (port mapping) ⇒ 광현
    • media: (30000~31000)
    • record: (10000 ~ 10300)
    • 필요 라이브러리 설치 (ffmpeg)

webRTC랑 Plain이랑 사용하는 포트 범위가 다른데 이걸 그냥 하나로 합쳐도 무방함 (30000~31000)

  • MIN_PORT, MAX_PORT 상수 생성

프론트

  • 채팅 로직 구현

👥 팀 강점

🧑‍💻 개발 일지

📌 ALL

📌 FE

📌 BE

💥 트러블 슈팅

📌 FE

📌 BE

🤔 고민

📚 학습 정리

📌 김광현

📌 백지연

📌 전희선

📌 한승헌

🤝 회의록

🗒️ 데일리 스크럼

💬 팀 회고


👨‍👩‍👧‍👦 소개

🌱 문화

🔨 기술 스택

⚙️ 서비스 아키텍쳐

🚧 CI/CD

🌊 Flow

💭 6주를 보내면서

Clone this wiki locally