Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/connect-foundation/2019-19
안봐도 비디오
https://github.com/connect-foundation/2019-19
cdn elastic-search expressjs javascript logstash m3u8 mysql ncloud node object-storage reactjs sequelizejs styled-components video-streaming
Last synced: 10 days ago
JSON representation
안봐도 비디오
- Host: GitHub
- URL: https://github.com/connect-foundation/2019-19
- Owner: connect-foundation
- License: mit
- Created: 2019-11-01T09:13:18.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-03T09:22:58.000Z (over 1 year ago)
- Last Synced: 2023-03-08T02:10:03.076Z (over 1 year ago)
- Topics: cdn, elastic-search, expressjs, javascript, logstash, m3u8, mysql, ncloud, node, object-storage, reactjs, sequelizejs, styled-components, video-streaming
- Language: JavaScript
- Homepage: http://abdvideo.ml
- Size: 19.7 MB
- Stars: 7
- Watchers: 4
- Forks: 4
- Open Issues: 56
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
### 소개
> #### :tv: Netflix clone project
> 컨텐츠 맞춤 추천을 기반으로 세상 모든 비디오를 스트리밍하는 서비스입니다.
>#### [:point_right: Homepage](http://www.abdvideo.ml/)
#### [:memo: Documentations](https://github.com/connect-foundation/2019-19/wiki)
#### :tv: Demo Video (click :point_down:)
[![[부스트캠프 2019 19조 - 안봐도 비디오] 데모 동영상](http://img.youtube.com/vi/XcDHMs2Ni4k/0.jpg)](http://www.youtube.com/watch?v=XcDHMs2Ni4k "Demo Video")
### 개발기간
- 2019.11.4 ~ 2019.12.19### 팀원
| [김민성](https://github.com/minsung1129) | [김한비](https://github.com/KKambi) | [신정수](https://github.com/jngsoo) |[윤경호](https://github.com/zoomspeed)|
| -------- | -------- | -------- |----|### 개발환경
- Node (12.13.0) + Express (4.16.1)
- React (16.11.0) + Webpack (4.41.2)
- npm (6.13.0)
- Elastic Search + Logstash + MySQL
- nCloud
- Server
- App Server
- DB Server
- Segmenter Server
- Object Storage (Logstash JSON)
- Object Storage (Thumbnails videos & Streaming Data)
- CDN+
- VOD Transcoder### 설치
1. 각 서버에 필요한 패키지 설치
```bash
#/api-server
npm install
#/client-server
npm install
```2. 리액트 빌드
```bash
#client-server
npm run build
```3. 환경변수 및 인프라 관련 설정
- `/api-server/.env`
- `/segmenter-server/.env`
- `/api-server/config/config.json`### 기능
#### client-server
- 메인 영상 썸네일
- 영상별로 좋아요 & 찜하기
- 회원별로 추천기능
- 영상 검색 기능
- 장르별 영상 카로셀
- 비디오 플레이어
- 무한 스크롤#### api-server
- 컨텐츠 정보에 대한 API 응답
- 구글 로그인#### elastic-server
- elastic search 검색엔진을 사용, DSL쿼리 적용
- logstash로 로그수집 및 분석가능
- shell script, crontab schedule으로 벌크로 가져온 데이터 1분마다 sync
- API 호출로 해당 요청에 대한 JSON 형식의 응답#### segmenter-server
- 원본 영상 업로드
- nCloud VOD Transcoder를 통한 트랜스코딩(360p, 480p, 720p)
- 트랜스코딩된 영상을 다운로드받아, 스트리밍 데이터로 분할(m3u8 + ts)
- 영상 정보 및 스트리밍 데이터 url(CDN+) DB에 저장
- 스트리밍 데이터 업로드