프로젝트 기간: 2022.12.22 ~ 2023.01.28
PicPiCo : take Pictures with Peer Connection
‘친구들과 실제로 만나서 즉석 사진 찍고 꾸미기’를 모바일 App으로 !
시연 및 발표 영상 : YouTube Link
팀스페이스 : Notion Link
PC 크롬환경에서 가장 잘 동작합니다 : PicPiCo 해보기
📍 각 페이지 전반에 걸친 음성 채팅 기능
Drag and Drop 시연 | PicPiCo Booth 주요 기능 |
---|---|
📍 실제로 같이 있는 것처럼 합성된 캠화면 제공 📍 카카오톡 API를 활용한 참여자 리스트 확인 📍 참여자 리스트 상 순서에 따라 화면에서 참여자들의 앞, 뒤 순서가 정해짐 📍 Drag and Drop으로 이 순서를 조작 가능 📍 참여자간 음소거 여부 및 촬영 횟수 동기화 📍 링크 모달로 카카오톡 공유하기 |
📍 촬영한 사진 중 Best 4컷 선택
Drawing 시연 | Sticker 시연 | Decoration 주요 기능 |
---|---|---|
📍 각 참여자가 어떤 사진을 꾸미고 있는 지 실시간 공유 (상단 닉네임 폰트 색 == 꾸미고 있는 사진 테두리의 색) 📍그리기 및 GIF 스티커 붙이기 동시 작업 지원 📍 가상 배경 추가 가능 |
GIF Download 시연 | Download Page 주요 기능 |
---|---|
📍 꾸민 결과가 화면상에 보여지고, GIF형식으로 유저 각자의 로컬에 저장 가능 📍 모바일 환경에서는 기기의 사양에 따라 GIF 생성 완료까지 20~30초 시간 소요 📍 GIF 생성이 완료되면 다운로드 버튼이 나타남 |
기술스택 | 설명 |
---|---|
자바스크립트 런타임 | |
웹프레임워크 | |
웹 프론트엔드 프레임워크 | |
인메모리 저장소 (캐시) | |
화상 공유 및 음성 채팅(N:N Mesh) | |
시그널링, 룸 입장, 사진 촬영 및 꾸미기 이벤트 처리 | |
Proxy 서버 | |
자체 TURN 서버 구축 |
라이브러리 | 설명 |
---|---|
배경 제거를 위한 인물 segmentation | |
gif 생성 | |
방 번호 랜덤 생성 | |
클라이언트-서버 간 이미지 데이터 parsing | |
촬영된 개별 이미지 합성 처리 | |
컴포넌트간 상태 관리 | |
컴포넌트간 상태 관리 | |
클라이언트-서버간 실시간 통신 | |
chroma-key 처리를 위한 webgl 사용 |
$ git clone https://github.com/TeamWooMoo/picpico-server.git
$ cd picpico-server
$ npm i
$ npm run start
$ git clone https://github.com/TeamWooMoo/picpico-client.git
$ cd picpico-client/front-src
$ npm i
$ npm run build
$ cd ..
$ npm i
$ npm run start