1:1 과외를 하기 위한 동영상 스트리밍 어플리케이션 팀 프로젝트의 일부 코드입니다.
(adaptive streaming, screen drawing service)
동영상 링크: https://www.youtube.com/watch?v=RMkTWNjY1Vc
화상 통화 연결 이후 화면 미러링, screen drawing service 시연, 웹서버에 업로드된 비디오 재생 및 네트워크 환경에 따른 adaptive streaming 순서로 진행됩니다.
- 1:1 영상통화 및 화면 미러링
- 네트워크 환경에 따른 adaptive streaming
- screen drawing service
- 언어: Java, php, JavaScript
- 운영체제: Android, Ubuntu
- 웹서버: Apache
- 데이터베이스: MySQL
- 프로토콜: HTTP, MPEG-DASH
- 주요 라이브러리/API: MediaProjection / ExoPlayer / Glide / MPAndroidChart
영상통화 중 미러링 기능을 사용하면 상대방에게 자신의 화면을 송출할 수 있습니다.
화면 상단에는 동영상 플레이어, 하단에는 네트워크 세기 그래프가 있습니다.
네트워크 환경에 따라 적절한 화질의 동영상을 제공합니다.
MPEG-DASH프로토콜을 이용하여 구현하였습니다.
screen drawing service를 이용하여 화면에 여러 가지 조작을 할 수 있습니다.
펜을 이용하여 화면에 그림을 그릴 수 있습니다.
레이저 포인터를 이용하여 강조할 수 있습니다. 화면에서 손가락을 떼면 포인터가 사라집니다.
마커 펜을 이용하여 강조할 수 있습니다. 오래 누르고 있을수록 짙어집니다.
지우개를 이용하여 그림을 지울 수 있습니다.
클리어 버튼을 누르면 화면에 그려진 모든 그림을 지울 수 있습니다.
포커스 오프 버튼을 누르면 그림을 두고 화면 조작을 할 수 있습니다.
최소화 버튼을 누르면 리모콘의 크기를 줄일 수 있습니다. 다시 한번 누르면 원래 크기로 돌아옵니다.