토스, 배달의 민족, 카카오 등 다양한 컨퍼런스들이 있지만 실제로 신청해서 당첨되는 것은 쉬운 일이 아닙니다.
저희는 이러한 컨퍼런스 문화가 더욱 활발해지고, 더 많은 사람들이 기회를 얻을 수 있기를 바라는 마음으로 LiBoo 프로젝트를 기획하게 되었습니다.
작게는 팀원 간 소규모 기술 공유부터, 크게는 네이버 부스트캠프 발표나 기업의 컨퍼런스과도 함께할 수 있는 서비스를 만들고자 합니다!
실시간 컨퍼런스를 시청하거나 호스트가 되어 컨퍼런스를 직접 스트리밍 할 수 있습니다.
컨퍼런스를 보며 채팅으로 소통할 수 있습니다. 질문이 있다면 질문 채팅으로 전송이 가능합니다.
동영상 미리보기, 카테고리 등을 통해 원하는 컨퍼런스를 탐색해 볼 수 있습니다.
실시간으로 방송되었던 컨퍼런스를 다시 돌려볼 수 있습니다.
sequenceDiagram
participant H as Host/OBS
participant HP as Host Page
participant MS as Main Server
participant RTMP as RTMP Server
participant OS as Object Storage
participant V as Viewer
Note over H,V: 방송 시작 전 (OBS 시작됨)
HP->>MS: HTTP: Stream Key 요청
MS->>MS: Unique Stream Key 생성
MS->>HP: Stream Key 반환
HP->>H: Stream Key 전달
H->>RTMP: RTMP: 스트림 전송 (Stream Key 포함)
RTMP->>RTMP: HLS 변환 (m3u8, segment 생성)
RTMP->>H: HTTP: HLS 스트림 전송
Note right of H: 호스트가 자신의 방송을<br/>모니터링 할 수 있음
Note over H,V: 방송 시작 후 (호스트 페이지에서 시작 버튼 클릭)
HP->>MS: 방송 시작 신호
MS->>RTMP: 방송 시작 알림
loop HLS 스트리밍
RTMP->>OS: HLS 파일 업로드 (m3u8, segment)
end
V->>MS: 컨퍼런스 선택 (대시보드에서)
MS->>V: Object Storage URL 반환
loop 스트리밍 시청
V->>OS: m3u8 요청
OS->>V: m3u8 파일 전송
V->>OS: segment 요청
OS->>V: segment 파일 전송
end
Part | Stack |
---|---|
공통 | ![]() |
프론트엔드 | ![]() |
백엔드 | ![]() |
주차 | 내용 요약 | 발표자료 |
---|---|---|
1주차 | 기획 공유 및 팀 목표 설정 | 보러가기 |
2주차 | 백로그 작성, 퍼블리싱, 동영상 스트리밍 아키텍처 설계 | 보러가기 |
3주차 | CI/CD, 메인 api 서버 개발, 플레이어 커스텀, 웹소켓 학습 | 보러가기 |
4주차 | 채팅 구현, 서비스 시연 | 보러가기 |
5주차 | 채팅 고도화, 플레이어 고도화, 다시보기 api 설계 | 보러가기 |
꾸준한 문서화를 통해 지식을 공유하고, 깊이 있는 기술적 도전을 이어나가고자 합니다.
- [학습] 동영상 스트리밍 처리 프로토콜을 알아보자
- [학습] 웹 소켓의 실시간 양방향 통신
- [과정/근거] 패키지 매니저 및 모노레포 정하기
- [트러블슈팅] 외부의 사용자가 Object Storage에 접근하지 못하는 권한 제어
- [트러블슈팅] Docker yarn-berry workspace 를 찾지 못하는 오류
김준서 | 김영길 | 고민지 | 김지수 | 홍창현 |
---|---|---|---|---|
BE | BE | FE | FE | FE |
@i3kae | @hoeeeeeh | @gominzip | @jsk3342 | @spearStr |