PlayGround는 실시간 스트리밍 기반의 동영상 소셜 플랫폼입니다.
동영상 플랫폼인 YouTube을 기반으로 하되, 실시간성을 강조하고 친구 기능을 추가하였습니다.
![playgroundHeader](https://user-images.githubusercontent.com/73422344/156584362-5c364449-5b0f-45f7-8142-fdc42ff6cc7b.png)
기능 |
설명 |
사용 기술 |
실시간 스트리밍 |
실시간 스트리밍 생성 및 시청 |
WebRTC - mediasoup |
비디오 스트리밍 |
동영상 업로드 및 시청 |
FFmpeg |
실시간 채팅 |
실시간 스트리밍과 비디오 스트리밍 시청 시 채팅 참여 가능. 스트리머의 경우, 고정 채팅 입력 가능 |
WebSocket, Stomp, SockJS |
친구 |
친구 관계가 맺어진 유저의 온오프라인 여부 및 시청 중인 영상 조회 |
WebSocket, Stomp, SockJS |
메인페이지 |
비디오 플레이어 |
친구와 영상 같이 시청하기 |
![mainPage_app](https://user-images.githubusercontent.com/73422344/154894562-d020a914-b692-4a7d-8c5c-a79c0d897614.gif) |
![videoPlayer_app](https://user-images.githubusercontent.com/73422344/154895222-6398b0d1-1260-43fb-b745-a761f1548f47.gif) |
![watchWithFriend_app](https://user-images.githubusercontent.com/73422344/154895237-485cc0b4-30ff-47e9-b9b4-d3c87327840a.gif) |
실시간 스트리밍 생성 |
실시간 스트리밍 시청 |
실시간 채팅 |
상단 고정 채팅 |
![liveStreamer](https://user-images.githubusercontent.com/73422344/154895854-03033fc1-cd71-4f49-bcba-e86b26af7f2d.gif) |
![liveViewer_app](https://user-images.githubusercontent.com/73422344/154895099-6d134209-8095-4e3c-9b2e-250ec97336eb.gif) |
![liveChatting_app](https://user-images.githubusercontent.com/73422344/154895117-a3b0f2d0-cfa7-49a1-a123-c8683903e24f.gif) |
![pinnedChat_app](https://user-images.githubusercontent.com/73422344/154895131-ea12c663-98b9-468f-b8ff-3d7dc08c5424.gif) |
회원가입 |
마이페이지 |
![register_app](https://user-images.githubusercontent.com/73422344/154894393-91eca694-821d-4e32-9f69-12498d2a5d5c.gif) |
![myPage_app](https://user-images.githubusercontent.com/73422344/154894598-27aa733d-9ff1-401e-b4a4-c8f39e1826b3.gif) |
로그인 |
![login](https://user-images.githubusercontent.com/35404137/154888253-a110a8fb-cc6f-4cc8-9cb3-43e29044b4d0.gif) |
메인페이지 / 비디오 재생 |
![main-min](https://user-images.githubusercontent.com/35404137/154888984-e35d9c48-72c5-462c-b6a3-ddd4ba780fc0.gif) |
반응형 메인 레이아웃 |
![ezgif com-gif-maker (1)](https://user-images.githubusercontent.com/35404137/154892740-42f41d84-3139-495a-be9a-854d3c9b2e20.gif) |
회원가입 페이지 |
마이페이지 |
![register](https://user-images.githubusercontent.com/35404137/154832902-1b754e85-c456-400f-8b2b-4eb089f55c72.gif) |
![mypage](https://user-images.githubusercontent.com/35404137/154834050-b219dbf6-6b3c-4bd4-9cb6-9083719368fb.gif) |
실시간 스트리밍 생성 |
실시간 스트리밍 시청 |
![liveStreaming](https://user-images.githubusercontent.com/35404137/154835797-76d304d5-12bb-4bd6-872d-f532758dac06.gif) |
![liveStreamingWatch-min](https://user-images.githubusercontent.com/35404137/154889301-a5227870-e19e-4c0f-8e57-3b2806ccaaf2.gif) |
친구와 함께 시청 |
![watchWithFriend-min](https://user-images.githubusercontent.com/35404137/154889792-4fcf504f-094d-4f83-8ab3-1d23da1541d0.gif) |
![](https://camo.githubusercontent.com/3fa1989dc07db2507c5dc35f003f8c64facf55e149f472785d051f8b2812da71/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d436f6d62696e652d4630353133383f7374796c653d666f722d7468652d6261646765)
![](https://camo.githubusercontent.com/3ce1bdc01bb4e0918f88c3ebda380a504a3f8ba2d9d33e3c029c8297579b6f86/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d4368726f6d617469632d4643353231463f7374796c653d666f722d7468652d6261646765)
![](https://camo.githubusercontent.com/32203b46f0973f5f70960cd16ba9d72cff32367c4bd89994cff0c4125c2a3410/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d4669676d612d4632344531453f266c6f676f3d4669676d61266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765)
![](https://camo.githubusercontent.com/ce0e79b9238cf1881d087f83aec8bf4ea3ac5ddf9708b74e5a2c4c7868feb86e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2d46466d7065672d3030373830383f266c6f676f3d46466d706567266c6f676f436f6c6f723d7768697465267374796c653d666f722d7468652d6261646765)
- spring cloud gateway
- Eureka service discovery
src/ios/PlayGround
폴더에서 pod install
실행
PlayGround.xcworkspace
파일 실행
src/frontend
폴더에서 npm install
실행
src/frontend
폴더에서 .env
파일 생성 후 아래 내용 복사 후 붙여넣기
REACT_APP_API = https://dev.streaminggate.shop
REACT_APP_LIVE_SOCKET = wss://streaminggate.shop:4443
REACT_APP_USER_STATUS_API = http://3.37.201.189:9999
REACT_APP_USER_STATUS_SOCKET = http://3.37.201.189:9999/ws
REACT_APP_CHAT_API = http://3.38.16.211:8888
REACT_APP_CHAT_SOCKET = http://3.38.16.211:8888/ws
REACT_APP_UPLOAD_SERVICE = http://3.39.44.188:50006
REACT_APP_PROFILE_IMAGE = https://sgs-playground.s3.us-east-2.amazonaws.com/profiles/
npm run start
로 실행
docker-compose 로 서버 실행
$ cd config
$ docker-compose up -d
❗ window라면 ffmpeg 설치후 코드 수정필요
- ffmpeg 다운로드: https://ffmpeg.org/download.html
src/server/upload-service/src/main/resources/application.yml
수정:
ffmpeg:path
, ffprobbe:path
값을 다운로드 받은 실행 파일 위치로 수정