본문 바로가기
개인 프로젝트 동영상

DailyTV - 실시간 방송 어플리케이션

by 번데기 개발자 2018. 2. 8.
반응형

2달 반정도 개인적으로 개발했던 프로젝트입니다.



어플리케이션 이름 : DailyTV

 

-> 혼자 생활하는 1인가구가 늘면서 자신의 일상을 공유할 수 있는 인스타그램, 블로그 등의 활동이 늘면서

자신의 일상을 공유하고 사람들과 소통 할 수 있는 인터넷 방송 플랫폼이 있으면 좋겠다는 생각에

스트리밍 방송 어플리케이션을 기획하게 되었습니다.

 

<사용 기술>

* Language : Java, PHP7, C++

* OS : Linux (Ubuntu 16.04)

* Web Server : Nginx

* Web FrameWork : Netty

* Platform : Android

* Database : PostgreSQL, Redis, SQLite

* Library : Okhttp3, Argument-Reality, OpenCV, Glide, GoogleMap API, TMap API, FFMpeg, ExoPlayer

* Protocol : HTTP, RTMP, Mpeg-Dash, WebRTC

 

 

<기능 설명>

1. 영상 채팅 기능

- WebRTC를 통한 영상 채팅기능

 

2. 프로필 사진 업로드

- OpenCV 라이브러리를 이용한 FaceDetecting 마스크 씌우기, 필터 적용

- Http를 통해 서버로 프로필 사진 업로드

 

3. 동영상 스트리밍 기능

- RTMP를 이용하여 서버로 동영상 실시간 전송

- Mpeg-Dash를 이용하여 방송 시청자에게 동영상 스트리밍

- 녹화 시 녹화가 종료되면 mp4 동영상 서버 업로드

 

4. 방송목록 업데이트

- 현재 방송중인 방 목록을 Redis DB에 업로드. Client에서 ListView를 이용해 표시

- 서버에서 FFMPEG를 이용한 썸네일 기능 구현

 

5. 채팅, 별풍선 기능

- Netty 프레임워크를 이용한 시청자들간의 멀티채팅 구현

- BJ에게 별풍선 전송 (선물 시 간단한 애니메이션 동작, 서버의 DB 업로드)

 

6. 동영상 댓글 게시판 구축

- 업로드 된 동영상에 대한 댓글을 다는 게시판 구축

- 좋아요, 댓글삭제, 댓글 수정 기능 추가

 

7. 지도에 방송 위치 표시하기

- GoogleMap을 이용해 Live방송 및 저장된 방송 동영상의 위치를 표시하는 커스텀 마커 표시

- GoogleMap을 이용한 마커 클러스터링

 

8. 광고 마커 삽입 (가상현실)

- GoogleMapVR을 이용해 스트리트뷰를 볼 수 있는 광고 마커삽입

 

9. 길찾기 기능 구현 (증강현실)

- 방송한 위치를 AR을 화살표를 이용해 찾아 갈 수 있는 길찾기 기능 구현

반응형