• 서버: 델파이
  • 클라이언트: "안드로이드 + ffmpeg" or "MS-Windows + ffmpeg"
     
어제 1차 개발일정을 마치고 프로젝트를 간략하게 정리해 봅니다.  모든 프로젝트를 정리해야지 하면서도 잘 안되는 군요 ^^;

이미 상용 미디어 서버가 시장을 장악한 상황에서 미디어 서버를 직접 개발하게 된 이유는 다음과 같습니다.
  • 실시간 방송 중 광고 송출
  • VOD 방송 중 배속 재생 등을 지원하는 미디어 서버 및 클라이언트 개발
  • VOD 방송 중 광고 송출
  • 통신사에서 RTSP를 막아버리고 있는 가 봅니다.  이것도 하나의 개발 이유

제 다른 포스트에서도 썼던 기억이 있지만, 현재 미디어 서버에서 제공하는 배속은 제약사항 때문에 고객의 니즈를 만족시키지 못하여, 직접 제작을 의뢰 받아서 제작 중 입니다.

아래는 실시간 방송 모듈 테스트 화면입니다.  원본 영상의 해상도는 640*480 입니다. 




서버의 Class Diagram

[그림 1]
  • FFServer: 미디어 서버 클래스
  • FFConnection: 사용자의 컨넥션을 관리
  • MediaSourceList: 미디어서버를 통해 배포할 동영상의 소스
  • PackageBuffer: 동영상의 프레임 정보를 묶어서 관리
  • Package: 프레임의 묶음
  • 기타 클래스는 도면에서 생략하였음


클라이언트의 Class Diagram

[그림 2]
  • FFClient: 미디어 서버에 접속하여 동영상을 재상하는 클래스
  • State관련 클래스들: 클라이언트의 State Diagram 참고
  • StreamPlayer: 서버로부터 전송 받은 동영상 정보를 재생하는 클래스
  • 기타 클래스는 도면에서 생략하였음


클라이언트의 State Diagram

[그림 3]
  • 스마트폰의 특성상 네트워크가 불안정해질 수 있기 때문에 의도하지 않게 접속이 끊어졌을 경우에는 재접속하여 재생을 계속 이어가도록 했습니다.
 


저작자 표시 비영리 변경 금지
신고

Posted by 류종택


티스토리 툴바